Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Exempel: Inloggningsportal som använder metadata för att presentera val av tjänster och inloggningsalternativ

En tänkt portal skulle kunna fungera som en central startsida för inloggning till federerade tjänster. Den laddar in JSON-metadatan och presenterar den i ett användarvänligt gränssnitt.

Metadata-användning i praktiken:

1. Ladda metadata vid sidstart: Portalen hämtar JSON-filen och parsar den. Varje post i listan representerar en organisation med en eller flera SSO-tjänster.

2. Presentera organisationens information För varje organization_info:

FältAnvändning
display_nameAnvänds som namn i listan eller rubriken för organisationens tjänster
logotypeVisas som organisationslogotyp (t.ex. vänster i en rad)
descriptionTooltip eller kort brödtext i interfacet
urlLänk till organisationens huvudsida

3. Lista tillgängliga tjänster (sso_links) För varje tjänst:

FältAnvändning
display_nameNamnet som visas på knappen eller länken som avser den tjänst som användaren önskar nå
logoTjänstens ikon eller logotyp
descriptionKort beskrivning av tjänsten som kan visas under namnet
disabledOm true, visa tjänsten som inaktiv/grå eller inte alls
sso_typeAvgör hur inloggning hanteras: entity_id eller link_map

...

Två sätt att hantera inloggning

sso_type = "entity_id"

entity_id skapar länkar dynamiskt baserat på att tjänsteleverantören använder IdP entityID som parameter för att bygga länkar. Den rekommenderade vägen för att undvika administration av proprietära länkar.

Exempel:

Code Block
languagejs
{ "sp_init": "https://service.example.org/Shibboleth.sso/Login?", "idp_parameter": "entityID", "target_parameter": "Target" }


Implementering i portalen:

  1. Användaren väljer sin IdP (från lista eller sparad cookie).

  2. Portalen bygger en URL:
    sp_init + idp_parameter=...&target_parameter=...

  3. Användaren klickar på länken och skickas dit för att logga in.

Exempelvis:
https://service.example.org/Shibboleth.sso/Login?idp=https://idp.example.org&Target=https://service.example.org/welcome

link_map används för att knyta ett IdP entityID till en statisk login URL (URL:er som ej kan byggas dynamiskt baserat på IdP entityID eller andra anledningar)

Exempel:

Code Block
languagejs
"link_mapping": { "https://idp1.example.org": "https://service.example.org/login?idp=idp1" }


Implementering i portalen:

  1. När användaren väljer en IdP, slår portalen upp link_mapping[<valda IdP entityID>].

  2. Användaren klickar på länken och omdirigeras direkt till den fördefinierade URL:en.

Publicering av metadata

Publicering av metadata görs manuellt under kontorstid av federationsoperatören under piloten.

...