Naar de hoofdinhoud

Inloggen met Congressus via OpenID Connect

Discovery-URL, issuer, ondertekening en het verschil met Legacy

Staat je app op de inlogstandaard OpenID Connect, dan werkt hij met een standaardbibliotheek voor OpenID Connect. Je geeft je bibliotheek de Discovery-URL, je Client ID en, bij een vertrouwelijke app, je client secret. De bibliotheek haalt de rest zelf op.

Discovery-URL en issuer

Elke website van je vereniging is een eigen provider. De issuer is het adres van de website, en de Discovery-URL is dat adres met /.well-known/openid-configuration erachter:

https://www.vereniging.nl/.well-known/openid-configuration

Je vindt de Issuer en Discovery-URL van elke website op de pagina van je app in Instellingen > Apps. Kies de website waarop je leden inloggen; een token werkt alleen op de websites van je eigen vereniging.

Wat we ondersteunen

  • De authorization code flow, met response_type=code.

  • PKCE met S256. Verplicht voor een app met clienttype Openbaar.

  • Aanmelden bij het token-endpoint met HTTP Basic (client_secret_basic) voor een vertrouwelijke app, of alleen met de Client ID (none) voor een openbare app.

  • ID tokens ondertekend met RS256. De sleutel staat op de jwks_uri uit de Discovery-URL, https://www.vereniging.nl/.well-known/jwks.json.

  • nonce, prompt (none, login en consent) en max_age.

  • De userinfo-velden sub, name, given_name, family_name, nickname, preferred_username, picture, gender, birthdate, email, address en phone_number.

  • Refresh tokens voor een vertrouwelijke app, en tokens intrekken via het revocation-endpoint.

Een redirect_uri moet precies gelijk zijn aan een van de Redirect-URI's van je app; een andere weigeren we. Hoe elke stap er in detail uitziet, lees je in Hoe verloopt Inloggen met Congressus?

Van Legacy naar OpenID Connect

Apps die er al waren voor OpenID Connect staan op Legacy en werken zoals altijd. Zet je de Inlogstandaard van een app op OpenID Connect, dan verandert dit:

  • Het ID token wordt ondertekend met RS256 en de sleutel uit de jwks_uri, in plaats van met HS256 en je client secret.

  • iss in het ID token wordt het adres van de website, in plaats van urn:congressus:nl.

  • nonce staat alleen in het ID token als je hem meestuurde. Bij Legacy is hij dan leeg.

  • Een redirect_uri die niet bij je app staat, weigeren we. Bij Legacy sturen we het lid dan naar de eerste Redirect-URI.

De endpoints, het antwoord van het token-endpoint, de userinfo-velden en refresh tokens blijven gelijk. Pas eerst je applicatie aan zodat die het nieuwe ID token controleert, en zet daarna de inlogstandaard om.

Gerelateerde artikelen

Was dit een antwoord op uw vraag?