...
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ält | Användning |
---|---|
display_name | Används som namn i listan eller rubriken för organisationens tjänster |
logotype | Visas som organisationslogotyp (t.ex. vänster i en rad) |
description | Tooltip eller kort brödtext i interfacet |
url | Länk till organisationens huvudsida |
3. Lista tillgängliga tjänster (sso_links
) För varje tjänst:
Fält | Användning |
---|---|
display_name | Namnet som visas på knappen eller länken som avser den tjänst som användaren önskar nå |
logo | Tjänstens ikon eller logotyp |
description | Kort beskrivning av tjänsten som kan visas under namnet |
disabled | Om true , visa tjänsten som inaktiv/grå eller inte alls |
sso_type | Avgö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 | ||
---|---|---|
| ||
{ "sp_init": "https://service.example.org/Shibboleth.sso/Login?", "idp_parameter": "entityID", "target_parameter": "Target" } |
Implementering i portalen:
Användaren väljer sin IdP (från lista eller sparad cookie).
Portalen bygger en URL:
sp_init + idp_parameter=...&target_parameter=...
Användaren klickar på länken och skickas dit för att logga in.
sso_type = "link_map"
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 | ||
---|---|---|
| ||
"link_mapping": { "https://idp1.example.org": "https://service.example.org/login?idp=idp1" } |
Implementering i portalen:
När användaren väljer en IdP, slår portalen upp
link_mapping[<valda IdP entityID>]
.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.
...