Krav for å koble din egen identitetsleverandør til kundekontoer

Før du kobler din egen identitetsleverandør til kundekontoer, må du sørge for at leverandøren oppfyller alle tekniske krav ved å se gjennom dokumentasjonen eller kontakte identitetsleverandøren for støtte.

Krav for identitetsleverandører

For å kunne integreres med Shopify-butikken din, må identitetsleverandøren oppfylle følgende krav:

  • Identitetsleverandøren støtter OAuth 2.0-autorisasjonskodeflyt. Implisitte og hybride flyter støttes ikke. client_secret_basic er standard autentiseringsmåte for token-endepunktet.
  • Identitetsleverandøren støtter Proof Key for Code Exchange (PKCE) for offentlige klienter.
  • Identitetsleverandøren er i samsvar med OpenID Connect (OIDC)-standarden for autentisering.
  • Identitetsleverandøren støtter OpenID Connect RP-Initiated Logout 1.0 for utlogging. Back-Channel- og Front-Channel-utlogging støttes ikke.
  • Identitetsleverandøren støtter e-post som unik identifikasjon for brukere, og e-postbekreftelse er en del av registreringsprosessen.

Krav til endepunkter

Identitetsleverandøren du kobler til må støtte spesifikke endepunkter. Se gjennom tabellen nedenfor for å finne ut mer om de nødvendige endepunktene, spesifikasjonene deres og eksempler.

Nødvendige endepunkter for identitetsleverandør
Nødvendig endepunktEksempel på domene og baneSpesifikasjoner
Autorisasjonhttps://auth.provider.com/authorizeRFC 6749 Section 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 Section 4.1.3 and RFC 6749 Section 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Section 5
Oppdagelsehttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Krav til responstid for endepunkter

Forespørsler fra Shopify til identitetsleverandørens endepunkter for token, discovery og userinfo må besvares innen 1 sekund. Hvis et endepunkt bruker lenger tid enn 1 sekund på å svare, vil forespørselen få et tidsavbrudd og påloggingsflyten mislykkes. For å unngå tidsavbrudd må du sørge for at identitetsleverandøren driftes i et miljø med lav forsinkelse og tilstrekkelig kapasitet.

Mobilkrav

Hvis butikken din har en mobilapp, må autorisasjonsendepunktet til identitetsleverandøren støtte følgende parametere:

  • code_challenge: Bekrefter at klienten som ber om tokenet er den samme klienten som startet forespørselen.
  • code_challenge_method: Dette endepunktet må angis til S256.

Krav til ID-token

Et ID-token er et bevis på autentisering, utstedt av identitetsleverandøren din etter at en bruker har logget inn. Se gjennom følgende krav til claims og signaturer for ID-token.

Nødvendige claims

Claims er utsagn som identitetsleverandøren din deler om en bruker, som brukes til autentisering. Når du kobler kundekontoer til din egen identitetsleverandør, kreves følgende claims i oppsettet for ID-token:

  • sub: En unik identifikasjon for brukeren hos identitetsleverandøren din.
  • nonce: En unik streng som inkluderes i ID-tokenet for å forhindre replay-angrep.
  • email: Brukerens unike e-postadresse som brukes til å klargjøre kundekontoen. For Entra ID- og Azure AD-integrasjoner brukes upn-claimet i stedet for email, og det må peke til en gyldig e-postadresse som kan motta bestillings- og kunderelatert kommunikasjon.
  • email_verified: En boolsk verdi som angir om e-postadressen er bekreftet av identitetsleverandøren. Verdien for email_verified må være true.
  • iss: Utstederidentifikasjonen for identitetsleverandøren din.
  • aud: Målgruppen ID-tokenet er ment for, også kjent som din klient-ID.

Krav til tokensignatur

Signaturkrav hjelper identitetsleverandøren med å bekrefte identiteten til en bruker under påloggingsprosessen. Identitetsleverandøren din må signere ID-token ved hjelp av en av følgende støttede algoritmer:

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

Token som er signert med HS256 (HMAC med delt hemmelighet) støttes ikke.

Krav til økter og tokener

Shopify bruker oppdateringstokener for å opprettholde kundeøkter i opptil 90 dager. Uten et oppdateringstoken avsluttes økter når tilgangstokenet fra identitetsleverandøren utløper, som vanligvis er 1 time.

For å støtte langvarige kundeøkter må identitetsleverandøren oppfylle følgende krav:

  • Identitetsleverandøren må støtte utstedelse av oppdateringstokener som definert i RFC 6749 seksjon 1.5.
  • Identitetsleverandøren må konfigureres til å returnere oppdateringstokener i token-responsen.

Tilleggsressurser

For å finne ut mer om identitetsleverandører og krav som er i samsvar med OpenID Connect (OIDC), kan du se gjennom følgende tredjepartsressurser: