Krav for å koble din egen identitetsleverandør til kundekontoer

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

Krav til identitetsleverandører

For å integrere med Shopify-butikken må identitetsleverandøren oppfylle følgende krav:

  • Identitetsleverandøren støtter OAuth 2.0-flyt for autorisasjonskode. 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. Utlogging via Back-Channel og Front-Channel støttes ikke.
  • Identitetsleverandøren støtter e-post som unik identifikasjon for brukere, og e-postbekreftelse er en del av registreringsprosessen.

Krav til endepunkt

Identitetsleverandøren du kobler til, må støtte bestemte endepunkter. Se gjennom følgende tabell for å lære mer om de påkrevde endepunktene, samt deres spesifikasjoner og eksempler.

Påkrevde endepunkter for identitetsleverandør
Påkrevd endepunktEksempel på domene og baneSpesifikasjoner
Autorisasjonhttps://auth.provider.com/authorizeRFC 6749 seksjon 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 seksjon 4.1.3 og RFC 6749 seksjon 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 seksjon 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Krav til responstid for endepunkt

Forespørsler fra Shopify til identitetsleverandørens endepunkter for token, discovery og userinfo, må besvares innen 1 sekund. Hvis et endepunkt bruker mer enn 1 sekund på å svare, vil forespørselen tidsavbrytes og påloggingsflyten mislykkes. Sørg for at identitetsleverandøren din er driftet i et miljø med lav forsinkelse og tilstrekkelig kapasitet for å unngå tidsavbrudd.

Krav for mobil

Hvis butikken din har en mobilapp, må identitetsleverandørens autorisasjonsendepunkt 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å settes til S256.

Krav til ID-token

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

Påkrevde claims

Claims er informasjon som identitetsleverandøren din deler om en bruker, og som brukes til autentisering. Når du kobler kundekontoer til din egen identitetsleverandør, er følgende claims påkrevd i oppsettet av ID-tokenet:

  • 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 integrasjoner med Entra ID og Azure AD brukes claimet upn 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-posten 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 klient-ID-en din.

Krav til tokensignatur

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

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

Tokener signert med HS256 (HMAC med delt hemmelighet) støttes ikke.

Krav til økt og token

Shopify bruker oppdateringstokener for å opprettholde kundeøkter i opptil 90 dager. Uten et oppdateringstoken avsluttes økter når tilgangstokenet fra identitetsleverandøren utløper, noe som vanligvis er etter 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å være konfigurert til å returnere oppdateringstokener i token-svaret.

Flere ressurser

For å lære mer om OpenID Connect-kompatible (OIDC) identitetsleverandører og krav, kan du se gjennom følgende tredjepartsressurser: