Krav for at tilslutte din egen identitetsudbyder til kundekonti

Inden du tilslutter din egen identitetsudbyder til kundekonti, skal du sikre dig, at din udbyder opfylder alle de tekniske krav ved at gennemgå dokumentationen eller kontakte din identitetsudbyder for at få support.

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_basic er standardgodkendelsesmetoden for token-endpointet.
  • Identitetsudbyderen understøtter Proof Key for Code Exchange (PKCE) for offentlige klienter.
  • Identitetsudbyderen er kompatibel med OpenID Connect (OIDC)-standarden 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 tilslutter, 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ævede endpoints for identitetsudbyder
Påkrævet endpointEksempel på domæne og stiSpecifikationer
Autorisationhttps://auth.provider.com/authorizeRFC 6749, afsnit 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749, afsnit 4.1.3 og RFC 6749, afsnit 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517, afsnit 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Krav til svartid for endpoints

Anmodninger fra Shopify til din identitetsudbyders token-, discovery- og userinfo-endpoints skal besvares inden for 1 sekund. Hvis et endpoint bruger mere end 1 sekund på at svare, får anmodningen timeout, og loginflowet fejler. For at undgå timeouts skal du sørge for, at din identitetsudbyder hostes i et miljø med lav latenstid og tilstrækkelig kapacitet.

Krav til mobil

Hvis din butik har en mobilapp, skal identitetsudbyderens autorisations-endpoint 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 angivet til S256.

Krav til id-tokens

Et id-token er et bevis på godkendelse, der udstedes af din identitetsudbyder, efter at en bruger er logget ind. Gennemgå følgende krav til claims og underskrivere for id-tokens.

Påkrævede claims

Claims er udsagn, som din identitetsudbyder deler om en bruger, og som bruges til godkendelse. Når du tilslutter kundekonti til din egen identitetsudbyder, er følgende claims påkrævede i opsætningen af id-tokenet:

  • sub: En unik identifikator for brugeren i din identitetsudbyder.
  • nonce: En unik streng, der er inkluderet i id-tokenet for at forhindre replay-angreb.
  • email: Brugerens unikke mailadresse, der bruges til at klargøre kundekontoen. For integrationer med Entra ID og Azure AD bruges upn-claimet i stedet for email, og det skal pege på en gyldig mailadresse, der kan modtage kommunikation vedrørende ordrer og kunder.
  • email_verified: En boolesk værdi, der angiver, om mailen er blevet bekræftet af identitetsudbyderen. Værdien for email_verified skal være true.
  • iss: Udstederidentifikatoren for din identitetsudbyder.
  • aud: Målgruppen, som id-tokenet er beregnet til, også kendt som dit klient-id.

Krav til token-signatur

Krav til underskrivere hjælper din identitetsudbyder med at bekræfte en brugers identitet under loginprocessen. Din identitetsudbyder skal underskrive 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 underskrevet med HS256 (HMAC med delt hemmelighed), understøttes ikke.

Krav til sessioner og tokens

Shopify bruger opdateringstokens til at opretholde kundesessioner i op til 90 dage. Uden et opdateringstoken afsluttes sessioner, når adgangstokenet fra din identitetsudbyder udløber, hvilket typisk er 1 time.

For at understøtte langvarige kundesessioner skal din identitetsudbyder opfylde følgende krav:

  • Identitetsudbyderen skal understøtte udstedelse af opdateringstokens som defineret i RFC 6749, afsnit 1.5.
  • Identitetsudbyderen skal være konfigureret til at returnere opdateringstokens i token-svaret.

Yderligere ressourcer

Hvis du vil vide mere om identitetsudbydere og krav, der er kompatible med OpenID Connect (OIDC), kan du gennemgå følgende tredjepartsressourcer: