Krav för att ansluta en egen identitetsleverantör till kundkonton

Innan du ansluter din egen identitetsleverantör till kundkonton måste du se till att din leverantör uppfyller alla tekniska krav genom att granska dokumentationen eller kontakta din identitetsleverantör för support.

Krav på identitetsleverantörer

För att kunna integreras med din Shopify-butik måste identitetsleverantören uppfylla följande krav:

  • Identitetsleverantören stöder OAuth 2.0-auktoriseringskodsflödet. Implicita och hybrida flöden stöds inte. client_secret_basic är den förvalda autentiseringsmetoden för tokenslutpunkt.
  • Identitetsleverantören stöder Proof Key for Code Exchange (PKCE) för offentliga klienter.
  • Identitetsleverantören är kompatibel med OpenID Connect (OIDC)-standarden för autentisering.
  • Identitetsleverantören stöder OpenID Connect RP-Initiated Logout 1.0 för utloggning. Back-Channel- och Front-Channel-utloggning stöds inte.
  • Identitetsleverantören stöder e-post som unik identifierare för användare och e-postverifiering ingår i registreringsprocessen.

Krav på slutpunkter

Den identitetsleverantör som du ansluter till måste stödja specifika slutpunkter. Granska följande tabell för mer information om de slutpunkter som krävs, deras specifikationer och exempel.

Obligatoriska identitetsleverantörsslutpunkter
Obligatorisk slutpunktExempel på domän och sökvägSpecifikationer
Auktoriseringhttps://auth.provider.com/authorizeRFC 6749 avsnitt 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 avsnitt 4.1.3 och RFC 6749 avsnitt 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 avsnitt 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Krav på slutpunkters svarstid

Förfrågningar från Shopify till din identitetsleverantörs slutpunkter för token, discovery och userinfo måste besvaras inom 1 sekund. Om det tar mer än 1 sekund för en slutpunkt att svara överskrids tidsgränsen för förfrågan och inloggningsflödet misslyckas. Se till att din identitetsleverantör finns i en miljö med låg latens och tillräcklig kapacitet för att undvika att tidsgränsen överskrids.

Krav för mobila enheter

Om din butik har en mobilapp måste identitetsleverantörens auktoriseringsslutpunkt stödja följande parametrar:

  • code_challenge: Bekräftar att klienten som begär denna token är samma klient som initierade förfrågan.
  • code_challenge_method: Den här slutpunkten måste ställas in på S256.

Krav på ID-token

En ID-token är ett bevis på autentisering som utfärdas av din identitetsleverantör efter att en användare har loggat in framgångsrikt. Granska följande krav på anspråk och undertecknande för ID-tokens.

Obligatoriska anspråk

Anspråk är uppgifter som din identitetsleverantör delar om en användare och som används för autentisering. När kundkonton ansluts till din egen identitetsleverantör krävs följande anspråk i ID-token-konfigurationen:

  • sub: En unik identifierare för användaren inom din identitetsleverantör.
  • nonce: En unik sträng som inkluderas i ID-token för att förhindra upprepningsattacker.
  • email: Användarens unika e-postadress som används för att tillhandahålla kundkontot. För integrationer med Entra ID och Azure AD används upn-anspråket istället för email, och det måste hänvisa till en giltig e-postadress som kan ta emot beställnings- och kundrelaterad kommunikation.
  • email_verified: Ett booleskt värde som anger om e-postadressen har verifierats av identitetsleverantören. Värdet för email_verified måste vara true.
  • iss: Utfärdarens identifierare för din identitetsleverantör.
  • aud: Den målgrupp som denna ID-token är avsedd för, även känt som ditt klient-ID.

Krav på token-signaturer

Krav på undertecknande hjälper din identitetsleverantör att verifiera en användares identitet under inloggningsprocessen. Din identitetsleverantör måste signera ID-tokens med en av följande algoritmer som stöds:

  • RSA: RS256, RS384, RS512
  • Elliptisk kurva: ES256, ES384, ES512, ES256K
  • RSA-PSS: PS256, PS384, PS512
  • EdDSA: ED25519, EdDSA

Tokens som är signerade med HS256 (HMAC med delad hemlighet) stöds inte.

Krav på sessioner och tokens

Shopify använder uppdateringstokens för att upprätthålla kundsessioner i upp till 90 dagar. Utan en uppdateringstoken avslutas sessioner när åtkomsttoken från din identitetsleverantör löper ut, vilket i normala fall är efter 1 timme.

För att stödja långlivade kundsessioner måste din identitetsleverantör uppfylla följande krav:

  • Identitetsleverantören måste stödja utfärdande av uppdateringstokens enligt definitionen i RFC 6749 avsnitt 1.5.
  • Identitetsleverantören måste konfigureras så att den returnerar uppdateringstokens i token-svaret.

Ytterligare resurser

Läs mer om OpenID Connect (OIDC)-kompatibla identitetsleverantörer och krav i följande tredjepartsresurser: