Krav til forbindelse af din egen identitetsudbyder til kundekonti
Før du forbinder din egen identitetsudbyder til kundekonti, skal du sørge for, at din udbyder opfylder alle tekniske krav. Det gør du ved at gennemgå dokumentationen eller kontakte din identitetsudbyder for at få support.
På denne side
Krav til identitetsudbydere
For at kunne integrere med din Shopify-butik skal identitetsudbyderen opfylde følgende krav:
- Identitetsudbyderen understøtter OAuth 2.0-autorisationskodeflowet. Implicitte og hybride flows understøttes ikke.
client_secret_basicer standardgodkendelsesmetoden for token-endpoint. - Identitetsudbyderen understøtter Proof Key for Code Exchange (PKCE) for offentlige klienter.
- Identitetsudbyderen overholder standarden OpenID Connect (OIDC) for godkendelse.
- Identitetsudbyderen understøtter OpenID Connect RP-Initiated Logout 1.0 til logud. Logud via Back-Channel og Front-Channel understøttes ikke.
- Identitetsudbyderen understøtter mail som den unikke identifikator for brugere, og mailbekræftelse er en del af registreringsprocessen.
Krav til endpoints
Den identitetsudbyder, du opretter forbindelse til, skal understøtte specifikke endpoints. Gennemgå følgende tabel for at få mere at vide om de påkrævede endpoints, deres specifikationer og eksempler.
| Påkrævet endpoint | Eksempel på domæne og sti | Specifikationer |
|---|---|---|
| Autorisation | https://auth.provider.com/authorize | RFC 6749, afsnit 4.1 |
| Token | https://auth.provider.com/token | RFC 6749, afsnit 4.1.3 og RFC 6749, afsnit 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517, afsnit 5 |
| Discovery | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
Krav til svartid for endpoints
Anmodninger fra Shopify til din identitetsudbyders endpoints for token, discovery og userinfo skal besvares inden for 1 sekund. Hvis et endpoint er mere end 1 sekund om at svare, udløber anmodningen, og login-flowet mislykkes. For at undgå timeouts skal du sørge for, at din identitetsudbyder hostes i et miljø med lav forsinkelse og tilstrækkelig kapacitet.
Krav til mobil
Hvis din butik har en mobilapp, skal identitetsudbyderens endpoint til autorisation understøtte følgende parametre:
code_challenge: Bekræfter, at den klient, der anmoder om tokenet, er den samme klient, som startede anmodningen.code_challenge_method: Dette endpoint skal være indstillet tilS256.
Krav til id-tokens
Et id-token er et bevis på godkendelse, som udstedes af din identitetsudbyder, når en bruger har logget ind. Gennemgå følgende krav til claims og signaturer for id-tokens.
Påkrævede claims
Claims er udsagn om en bruger, som din identitetsudbyder deler, og som bruges til godkendelse. Når du knytter kundekonti til din egen identitetsudbyder, kræves der følgende claims i opsætningen af id-tokenet:
sub: En unik identifikator for brugeren hos din identitetsudbyder.nonce: En unik streng, der inkluderes i id-tokenet for at forhindre replay-angreb.email: Brugerens unikke mailadresse, som bruges til at oprette kundekontoen. Til integrationer af Entra ID og Azure AD bruges claimetupni stedet foremail, og det skal pege på en gyldig mailadresse, som kan modtage ordre- og kunderelateret kommunikation.email_verified: En boolsk værdi, der angiver, om mailadressen er bekræftet af identitetsudbyderen. Værdien foremail_verifiedskal væretrue.iss: Udstederidentifikatoren for din identitetsudbyder.aud: Den målgruppe (audience), som id-tokenet er beregnet til. Dette kaldes også dit klient-id.
Krav til tokensignatur
Signaturkrav hjælper din identitetsudbyder med at bekræfte en brugers identitet i løbet af loginprocessen. Din identitetsudbyder skal signere id-tokens ved hjælp af en af følgende understøttede algoritmer:
- RSA: RS256, RS384, RS512
- Elliptisk kurve: ES256, ES384, ES512, ES256K
- RSA-PSS: PS256, PS384, PS512
- EdDSA: ED25519, EdDSA
Tokens, der er signeret med HS256 (HMAC med delt hemmelighed), understøttes ikke.
Krav til session og token
Shopify bruger opdateringstokens til at opretholde kundesessioner i op til 90 dage. Hvis du ikke har et opdateringstoken, afsluttes sessioner, når adgangstokenet fra din identitetsudbyder udløber, hvilket typisk er efter 1 time.
For at understøtte langvarige kundesessioner skal din identitetsudbyder opfylde følgende krav:
- Identitetsudbyderen skal understøtte udstedelsen af opdateringstokens som defineret i RFC 6749, afsnit 1.5.
- Identitetsudbyderen skal være konfigureret til at returnere opdateringstokens i tokensvaret.
Yderligere ressourcer
Hvis du vil have mere at vide om OIDC-kompatible (OpenID Connect) identitetsudbydere og krav hertil, kan du gennemgå følgende tredjepartsressourcer: