Navbar - Autentiserad demo

Den här demon visar navbar:en i inloggat läge med användarnamn, bearer token och logout-funktionalitet.

Status: Inloggad

1. Simulera inloggning

Sätt användarnamn och bearer token för att visa navbar:en i autentiserat läge.

Användarnamn


Bearer Token

Bearer token används för att identifiera autentiserade användare.


Aktuell Bearer:
Ingen bearer satt

Komplett inloggning

2. Organisation (OrgActAs)

Visar aktuell organisation i navbar och i drawer-menyn (ovanför authorized menu).

Sätt organisation


Öppna drawer-menyn (☰) för att se org-blocket ovanför "Min profil"-menyn.

4. Logout-funktionalitet

Logout-länken visas automatiskt när en användare är inloggad (när username är satt).

Konfiguration:

logoutUrl: 'https://id.swedac.se/logout'

När användaren klickar på "Logga ut"-länken navigeras användaren till denna URL.

Test logout-callback

Du kan lägga till en callback som körs före navigering till logout-URL:

5. Autentiserade funktioner

När användaren är inloggad visas användarnamnet i navbar:en och logout-länk blir tillgänglig.

Användarsektion

✓ Användarnamn visas högst upp till höger

✓ "Logga ut"-länk visas under användarnamnet

✓ Logout navigerar till konfigurerad logoutUrl

Login-knapp

✓ Döljs automatiskt när användare är inloggad

✓ Visas igen när användare loggas ut

✓ Använder loginUrl från konfigurationen

6. Kodexempel

Konfigurera navbar med login/logout URLs

<script>
    window.NAVBAR_CONFIG = {
        loginUrl: 'https://id.swedac.se',
        logoutUrl: 'https://id.swedac.se/logout'
    };
</script>
<script src="../navbar/navbar.js"></script>

Sätt användarnamn (efter inloggning)

// Sätt användarnamn (visar logout-länk automatiskt)
SweNavbar.setUsername('Anna Andersson');

// Bearer token kan sättas via localStorage eller sessionStorage
localStorage.setItem('access_token', 'your-bearer-token-here');

Logout med callback

// Aktivera logout med callback (körs före navigering)
SweNavbar.enableLogout('https://id.swedac.se/logout', function() {
    // Rensa lokal data
    localStorage.removeItem('access_token');
    sessionStorage.clear();
    console.log('Användaren loggar ut');
});

7. Integration med OIDC/OAuth

Typiskt flöde:

  1. Användare klickar på login-knapp → navigeras till loginUrl
  2. Efter lyckad inloggning: Sätt användarnamn och bearer token
  3. Logout-länk visas automatiskt i användarens sektion
  4. Vid utloggning: Callback körs → navigering till logoutUrl
// Exempel: Efter OIDC-inloggning
function handleOIDCCallback(userInfo, tokens) {
    // Spara token
    localStorage.setItem('access_token', tokens.access_token);

    // Sätt användarnamn i navbar
    SweNavbar.setUsername(userInfo.name || userInfo.email);

    // Konfigurera logout
    SweNavbar.enableLogout('https://id.swedac.se/logout', function() {
        localStorage.removeItem('access_token');
        localStorage.removeItem('id_token');
    });
}

Scrolla för att testa navbar-beteendet