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

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

Krav för identitetsleverantörer

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

  • Identitetsleverantören har stöd för OAuth 2.0-auktoriseringskodflödet. Implicita och hybrida flöden stöds inte. client_secret_basic är standardmetoden för autentisering av slutpunkten för token.
  • Identitetsleverantören har stöd för Proof Key for Code Exchange (PKCE) för publika klienter.
  • Identitetsleverantören är kompatibel med standarden OpenID Connect (OIDC) för autentisering.
  • Identitetsleverantören har stöd för OpenID Connect RP-Initiated Logout 1.0 för utloggning. Utloggning via Back-Channel och Front-Channel stöds inte.
  • Identitetsleverantören har stöd för e-post som unik identifierare för användare, och e-postverifiering är en del av registreringsprocessen.

Krav för slutpunkter

Identitetsleverantören som du ansluter till måste ha stöd för specifika slutpunkter. Granska följande tabell för att lära dig mer om de obligatoriska slutpunkterna, deras specifikationer och exempel.

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

Krav på svarstid för slutpunkter

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 längre än 1 sekund för en slutpunkt att svara överskrids tidsgränsen för förfrågan och inloggningsflödet misslyckas. För att undvika att tidsgränsen överskrids ska du se till att din identitetsleverantör driftas i en miljö med låg latens och tillräcklig kapacitet.

Mobilkrav

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

  • code_challenge: Verifierar att klienten som begär en token är samma klient som initierade förfrågan.
  • code_challenge_method: Denna slutpunkt måste vara inställd på S256.

Krav för 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. Granska följande krav på anspråk och undertecknare för ID-tokens.

Obligatoriska anspråk

Anspråk är påståenden som din identitetsleverantör delar om en användare och som används för autentisering. När du ansluter kundkonton till din egen identitetsleverantör krävs följande anspråk i ID-tokenkonfigurationen:

  • sub: En unik identifierare för användaren i din identitetsleverantör.
  • nonce: En unik sträng som ingår i ID-token för att förhindra reprisattacker.
  • email: Användarens unika e-postadress som används för att tillhandahålla kundkontot. För Entra ID- och Azure AD-integrationer används upn-anspråket istället för email och det måste peka på en giltig e-postadress som kan ta emot order- 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ärdaridentifieraren för din identitetsleverantör.
  • aud: Målgruppen som ID-token är avsedd för, även kallat ditt klient-ID.

Krav för tokensignatur

Signaturkrav hjälper din identitetsleverantör att verifiera en användares identitet under inloggningsprocessen. Din identitetsleverantör måste signera ID-tokens med någon 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

Token som signerats med HS256 (HMAC med delad hemlighet) stöds inte.

Krav för session och token

Shopify använder uppdateringstoken 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 vanligtvis är 1 timme.

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

  • Identitetsleverantören måste ha stöd för att utfärda uppdateringstoken enligt definitionen i RFC 6749 avsnitt 1.5.
  • Identitetsleverantören måste konfigureras för att returnera uppdateringstoken i tokensvaret.

Ytterligare resurser

Om du vill veta mer om identitetsleverantörer och krav som är kompatibla med OpenID Connect (OIDC) kan du granska följande tredjepartsresurser: