Customer Identity
Als je gebruikers wilt laten inloggen met een eigen of ingekochte inlogoplossing, moet je deze koppelen aan je publicatie op Freave One. Met onze standaard 'OpenID Connect'-connector kun je vrijwel alle bekende Identity Providers ( IdPs) in een handomdraai aan je publicatie koppelen. Gebruikers kunnen dan met één account inloggen, zonder dat er een migratie nodig is.
Introductie
OpenID Connect kan worden gebruikt voor zowel web- als mobiele toepassingen en biedt flexibiliteit en veiligheid bij het inloggen. Naast authenticatie biedt OpenID Connect ook autorisatie en het delen van gebruikersgegevens. Het is belangrijk om ervoor te zorgen dat je IdP voldoet aan de OpenID Connect-standaard en dat je de benodigde gegevens hebt om de verbinding tot stand te brengen.
Stappen
- Beoordeel (samen met je leverancier) of je IdP voldoet aan de OpenID Connect standaard, de benodigde scopes ondersteunt, en de verplichte claims terugstuurt.
- Tip: bekijk ook de best practices voor een naadloze implementatie.
- Deel de implementatiedetails met je leverancier, zodat ze aan hun kant de koppeling kunnen configureren.
- Verzamel de benodigde gegevens voor Freave. Je leverancier kan die ook aanleveren.
- Dien een supportaanvraag in en vermeld de verzamelde gegevens.
- Service: Publicatie | Freave One. Categorie: Implementatieverzoek. Website URL: publicatie waar je OpenID Connect wil activeren.
- Belangrijk: deel het "Client Secret" op een veilige manier, zoals via een wachtwoordbeheerder.
- Een medewerker neemt contact met je op om de implementatie te bevestigen.
Ondersteunde IdPs
De meeste IdPs ondersteunen het OpenID Connect protocol, en kunnen dus koppelen met Freave One. De onderstaande IdPs worden out-of-the-box ondersteund door Freave One.
- Auth0
- Kinde
- AWS Cognito
- Brits & Dale
Implementatie
Implementatiedetails
Je leverancier heeft de volgende gegevens nodig om de koppeling met Freave One tot stand te brengen.
Redirect URL
Freave One hanteert als Redirect URL de basis-URL van de website met ?foc=sso
als suffix. Het protocol is altijd
HTTPS.
De redirect URL van de website "eoponline.nl" zou dan https://www.eoponline.nl/?foc=sso
worden.
De redirect URL wordt pas actief nadat de koppeling tot stand is gebracht.
Grant type
De enige ondersteunde grant type is: authorization_code
.
Benodigde gegevens
Freave heeft de volgende gegevens nodig om de koppeling met de IdP tot stand te brengen.
Naam | Beschrijving |
---|---|
Client ID | Het Client ID van de OAuth client. |
Client Secret | Het Client Secret van de OAuth client. |
Authorization Endpoint | De URL van het authorisatie-eindpunt. |
Token Endpoint | De URL van het token-eindpunt. |
User Profile Endpoint | De URL van het gebruikersprofiel-eindpunt. |
Aangevraagde scopes
Tijdens het inloggen vragen we standaard de onderstaande scopes aan de IdP. Houd er dus rekening mee dat de IdP deze moet ondersteunen en de vereiste claims moet terugsturen.
- openid
- profile
Ondersteunde claims
Naam | Datatype | Verplicht | Beschrijving |
---|---|---|---|
sub | string | Ja | Uniek kenmerk (ID) van de gebruiker. |
name | string | Ja | De volledige (gebruikers)naam van de gebruiker. |
email | string | Ja | Het e-mailadres van de gebruiker. |
given_name | string | Nee1 | De voornaam van de gebruiker. |
family_name | string | Nee | De achternaam van de gebruiker. |
Best-practices
PKCE
Freave maakt gebruik van standaard PKCE om het inlogproces te verbeteren en te beveiligen tegen Man-in-the-middle-aanvallen. Dit is een extra beveiligingslaag die ervoor zorgt dat een aanvaller geen toegang kan krijgen tot de vertrouwelijke informatie die wordt uitgewisseld tussen de gebruiker en de server. PKCE staat voor Proof Key for Code Exchange en is een methode om een code te genereren die wordt gebruikt om de toegang tot de vertrouwelijke informatie te beschermen. Door PKCE te implementeren, kan Freave de veiligheid van gebruikersgegevens verbeteren en de risico's van cyberaanvallen verminderen.
Als je IdP geen PKCE ondersteunt, moet het aan de kant van Freave uit worden gezet. We raden dat af, maar kunnen dat op verzoek voor je instellen.
Afhandelen van namen
Hoewel alleen het "name"-veld verplicht is, raden we het gebruik van het voor- en achternaam veld sterk aan. De naam van de gebruiker wordt mogelijk op meerdere plekken binnen je publicatie getoond, en - afhankelijk van de context - is een voornaam dan gewenst.
Zo is het gebruikelijk om de voornaam van een gebruiker te gebruiken voor het personaliseren van pagina's, pop-ups en content. Als je hier de volledige naam gebruikt klinkt het snel te formeel en gaat het effect van de personalisatie verloren. In sommige diensten wordt - wanneer er alleen een volledige naam beschikbaar is - getracht om de voornaam automatisch te genereren, maar bijvoorbeeld wanneer een gebruiker meerdere voornamen heeft werkt dat meestal niet zoals verwacht.
Daarnaast raden we sterk aan om de naam van de gebruiker in het profiel in te vullen, en hier niet het e-mailadres voor te gebruiken.
- ❌ "Hallo Jan-Willem van den Berg,"
- ✅ "Hallo Jan-Willem,"
- ❌ "Hallo Klaas,"
- ✅ "Hallo Klaas Jan,"
- ❌ "Hallo b.schoo@bedrijf.com"
- ✅ "Hallo Boukje,"