Vereisten voor het koppelen van je eigen identiteitsprovider aan klantaccounts
Voordat je je eigen identiteitsprovider koppelt aan klantaccounts, moet je ervoor zorgen dat je provider aan alle technische vereisten voldoet door de documentatie te raadplegen of contact op te nemen met je identiteitsprovider voor ondersteuning.
Op deze pagina
Vereisten voor identiteitsproviders
Om te integreren met je Shopify-winkel, moet de identiteitsprovider aan de volgende vereisten voldoen:
- De identiteitsprovider ondersteunt de OAuth 2.0-autorisatiecodestroom. Impliciete en hybride stromen worden niet ondersteund.
client_secret_basicis de standaard verificatiemethode voor het token-eindpunt. - De identiteitsprovider ondersteunt de Proof Key for Code Exchange (PKCE) voor openbare clients.
- De identiteitsprovider voldoet aan de OpenID Connect (OIDC)-standaard voor verificatie.
- De identiteitsprovider ondersteunt OpenID Connect RP-Initiated Logout 1.0 voor uitloggen. Back-Channel- en Front-Channel-uitloggen worden niet ondersteund.
- De identiteitsprovider ondersteunt e-mail als de unieke ID voor gebruikers en e-mailverificatie is onderdeel van het registratieproces.
Eindpuntvereisten
De identiteitsprovider waarmee je verbinding maakt, moet specifieke eindpunten ondersteunen. Bekijk de volgende tabel voor meer informatie over de vereiste eindpunten, hun specificaties en voorbeelden.
| Vereist eindpunt | Voorbeeld van domein en pad | Specificaties |
|---|---|---|
| Autorisatie | https://auth.provider.com/authorize | RFC 6749 sectie 4.1 |
| Token | https://auth.provider.com/token | RFC 6749 sectie 4.1.3 en RFC 6749 sectie 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 sectie 5 |
| Zichtbaarheid | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
Vereisten voor de reactietijd van eindpunten
De token-, discovery- en userinfo-eindpunten van je identiteitsprovider moeten binnen 1 seconde reageren op verzoeken van Shopify. Als een eindpunt er langer dan 1 seconde over doet om te reageren, krijgt het verzoek een time-out en mislukt het inlogproces. Om time-outs te voorkomen, zorg je ervoor dat je identiteitsprovider wordt gehost in een omgeving met lage latentie en voldoende capaciteit.
Mobiele vereisten
Als je winkel een mobiele app heeft, moet het Autorisatie-eindpunt van de identiteitsprovider de volgende parameters ondersteunen:
code_challenge: verifieert dat de client die het token aanvraagt dezelfde client is die de aanvraag heeft geïnitieerd.code_challenge_method: dit eindpunt moet worden ingesteld opS256.
Vereisten voor ID-tokens
Een ID-token is een bewijs van verificatie, uitgegeven door je identiteitsprovider nadat een gebruiker succesvol is ingelogd. Bekijk de volgende claim- en handtekeningvereisten voor ID-tokens.
Vereiste claims
Claims zijn verklaringen die je identiteitsprovider over een gebruiker deelt, die worden gebruikt voor verificatie. Wanneer je klantaccounts koppelt aan je eigen identiteitsprovider, zijn de volgende claims vereist in de configuratie van het ID-token:
sub: een unieke ID voor de gebruiker binnen je identiteitsprovider.nonce: een unieke tekenreeks in het ID-token om replay-aanvallen te voorkomen.email: het unieke e-mailadres van de gebruiker dat wordt gebruikt om het klantaccount in te richten. Voor Entra ID- en Azure AD-integraties wordt deupn-claim gebruikt in plaats vanemailen moet deze verwijzen naar een geldig e-mailadres dat bestellings- en klantgerelateerde communicatie kan ontvangen.email_verified: een booleaanse waarde die aangeeft of de e-mail is geverifieerd door de identiteitsprovider. De waarde vooremail_verifiedmoettruezijn.iss: de ID van de uitgever voor je identiteitsprovider.aud: de doelgroep waarvoor het ID-token is bedoeld, ook wel je klant-ID genoemd.
Handtekeningvereisten voor tokens
Handtekeningvereisten helpen je identiteitsprovider om de identiteit van een gebruiker te verifiëren tijdens het inlogproces. Je identiteitsprovider moet ID-tokens ondertekenen met een van de volgende ondersteunde algoritmen:
- RSA: RS256, RS384, RS512
- Elliptic Curve: ES256, ES384, ES512, ES256K
- RSA-PSS: PS256, PS384, PS512
- EdDSA: ED25519, EdDSA
Tokens die zijn ondertekend met HS256 (HMAC met gedeeld geheim) worden niet ondersteund.
Sessie- en tokenvereisten
Shopify gebruikt refresh-tokens om klantsessies tot 90 dagen te behouden. Zonder refresh-token worden sessies beëindigd wanneer het toegangstoken van je identiteitsprovider verloopt; dit is meestal na 1 uur.
Om langdurige klantsessies te ondersteunen, moet je identiteitsprovider aan de volgende vereisten voldoen:
- De identiteitsprovider moet het uitgeven van refresh-tokens ondersteunen zoals gedefinieerd in RFC 6749 sectie 1.5.
- De identiteitsprovider moet zijn geconfigureerd om refresh-tokens mee te sturen in de tokenreactie.
Aanvullende bronnen
Raadpleeg de volgende externe bronnen voor meer informatie over identiteitsproviders en vereisten die voldoen aan OpenID Connect (OIDC):