Ga naar hoofdinhoud

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

  1. Beoordeel (samen met je leverancier) of je IdP voldoet aan de OpenID Connect standaard, de benodigde scopes ondersteunt, en de verplichte claims terugstuurt.
  1. Deel de implementatiedetails met je leverancier, zodat ze aan hun kant de koppeling kunnen configureren.
  2. Verzamel de benodigde gegevens voor Freave. Je leverancier kan die ook aanleveren.
  3. 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.
  1. 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.

Let op

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.

NaamBeschrijving
Client IDHet Client ID van de OAuth client.
Client SecretHet Client Secret van de OAuth client.
Authorization EndpointDe URL van het authorisatie-eindpunt.
Token EndpointDe URL van het token-eindpunt.
User Profile EndpointDe 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
  • email
  • profile

Ondersteunde claims

NaamDatatypeVerplichtBeschrijving
substringJaUniek kenmerk (ID) van de gebruiker.
namestringJaDe volledige (gebruikers)naam van de gebruiker.
emailstringJaHet e-mailadres van de gebruiker.
given_namestringNee1De voornaam van de gebruiker.
family_namestringNeeDe 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.

Let op

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,"