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.
På denne siden
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_basicer 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ødvendig endepunkt | Eksempel på domene og bane | Spesifikasjoner |
|---|---|---|
| Autorisasjon | https://auth.provider.com/authorize | RFC 6749 Section 4.1 |
| Token | https://auth.provider.com/token | RFC 6749 Section 4.1.3 and RFC 6749 Section 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 Section 5 |
| Oppdagelse | https://auth.provider.com/.well-known/openid-configuration | OpenID 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 tilS256.
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 brukesupn-claimet i stedet foremail, 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 foremail_verifiedmå væretrue.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: