Anforderungen für die Verbindung deines eigenen Identitätsanbieters mit Kundenkonten
Bevor du deinen eigenen Identitätsanbieter mit Kundenkonten verbindest, solltest du sicherstellen, dass dein Anbieter alle technischen Anforderungen erfüllt, indem du die Dokumentation liest oder dich an deinen Identitätsanbieter wendest, um Support zu erhalten.
Auf dieser Seite
Anforderungen an Identitätsanbieter
Für die Integration in deinen Shopify-Shop muss der Identitätsanbieter die folgenden Anforderungen erfüllen:
- Der Identitätsanbieter unterstützt den OAuth 2.0-Autorisierungscode-Flow. Implizite und hybride Flows werden nicht unterstützt.
client_secret_basicist die Standard-Authentifizierungsmethode für den Token-Endpunkt. - Der Identitätsanbieter unterstützt den Proof Key for Code Exchange (PKCE) für öffentliche Clients.
- Der Identitätsanbieter ist bei der Authentifizierung mit dem Standard OpenID Connect (OIDC) konform.
- Der Identitätsanbieter unterstützt OpenID Connect RP-Initiated Logout 1.0 für den Logout. Back-Channel- und Front-Channel-Logout werden nicht unterstützt.
- Der Identitätsanbieter unterstützt die E-Mail-Adresse als eindeutige ID für Benutzer:innen, und die E-Mail-Verifizierung ist Teil des Registrierungsprozesses.
Endpunktanforderungen
Der Identitätsanbieter, mit dem du eine Verbindung herstellst, muss bestimmte Endpunkte unterstützen. In der folgenden Tabelle erfährst du mehr über die erforderlichen Endpunkte, ihre Spezifikationen und Beispiele.
| Erforderlicher Endpunkt | Beispieldomain und -pfad | Spezifikationen |
|---|---|---|
| Autorisierung | https://auth.provider.com/authorize | RFC 6749 Abschnitt 4.1 |
| Token | https://auth.provider.com/token | RFC 6749 Abschnitt 4.1.3 und RFC 6749 Abschnitt 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 Abschnitt 5 |
| Discovery | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
Anforderungen an die Antwortzeit von Endpunkten
Anfragen von Shopify an die Token-, Discovery- und Userinfo-Endpunkte deines Identitätsanbieters müssen innerhalb von 1 Sekunde beantwortet werden. Wenn ein Endpunkt länger als 1 Sekunde für die Antwort benötigt, kommt es bei der Anfrage zu einer Zeitüberschreitung und der Login-Flow schlägt fehl. Um Zeitüberschreitungen zu vermeiden, solltest du sicherstellen, dass dein Identitätsanbieter in einer Umgebung mit geringer Latenz und ausreichender Kapazität gehostet wird.
Anforderungen für mobile Apps
Wenn dein Shop eine mobile App hat, muss der Autorisierungsendpunkt des Identitätsanbieters die folgenden Parameter unterstützen:
code_challenge: Verifiziert, dass der Client, der das Token anfordert, identisch mit dem Client ist, der die Anfrage initiiert hat.code_challenge_method: Dieser Endpunkt muss aufS256festgelegt sein.
Anforderungen an ID-Token
Ein ID-Token ist ein Authentifizierungsnachweis, der von deinem Identitätsanbieter ausgestellt wird, nachdem sich Benutzer:innen erfolgreich eingeloggt haben. Sieh dir die folgenden Claim- und Signaturanforderungen für ID-Token an.
Erforderliche Claims
Claims sind Aussagen, die dein Identitätsanbieter über Benutzer:innen teilt und die zur Authentifizierung verwendet werden. Wenn du Kundenkonten mit deinem eigenen Identitätsanbieter verbindest, sind beim Setup von ID-Token die folgenden Claims erforderlich:
sub: Eine eindeutige ID für die Benutzer:innen innerhalb deines Identitätsanbieters.nonce: Ein eindeutiger String, der im ID-Token enthalten ist, um Replay-Angriffe zu verhindern.email: Die eindeutige E-Mail-Adresse der Benutzer:innen, die zur Bereitstellung des Kundenkontos verwendet wird. Für Entra ID- und Azure AD-Integrationen wird anstelle vonemailder Claimupnverwendet. Dieser muss auf eine gültige E-Mail-Adresse verweisen, die bestellungs- und kundenbezogene Mitteilungen empfangen kann.email_verified: Ein boolescher Wert, der angibt, ob die E-Mail-Adresse vom Identitätsanbieter verifiziert wurde. Der Wert füremail_verifiedmusstruesein.iss: Die Aussteller-ID für deinen Identitätsanbieter.aud: Die Zielgruppe, für die das ID-Token bestimmt ist, auch als deine Client-ID bezeichnet.
Anforderungen an Token-Signaturen
Signaturanforderungen helfen deinem Identitätsanbieter dabei, die Identität von Benutzer:innen während des Anmeldevorgangs zu überprüfen. Dein Identitätsanbieter muss ID-Token mit einem der folgenden unterstützten Algorithmen signieren:
- RSA: RS256, RS384, RS512
- Elliptische Kurve: ES256, ES384, ES512, ES256K
- RSA-PSS: PS256, PS384, PS512
- EdDSA: ED25519, EdDSA
Token, die mit HS256 (HMAC mit Shared Secret) signiert sind, werden nicht unterstützt.
Sitzungs- und Token-Anforderungen
Shopify verwendet Aktualisierungstoken, um Kundensitzungen für bis zu 90 Tage aufrechtzuerhalten. Ohne ein Aktualisierungstoken enden die Sitzungen, wenn das Zugriffstoken deines Identitätsanbieters abläuft. Dies ist in der Regel nach einer Stunde der Fall.
Um langlebige Kundensitzungen zu unterstützen, muss dein Identitätsanbieter die folgenden Anforderungen erfüllen:
- Der Identitätsanbieter muss die Ausstellung von Aktualisierungstoken gemäß RFC 6749 Abschnitt 1.5 unterstützen.
- Der Identitätsanbieter muss so konfiguriert sein, dass er in der Token-Antwort Aktualisierungstoken zurückgibt.
Zusätzliche Ressourcen
Weitere Informationen zu Identitätsanbietern, die mit OpenID Connect (OIDC) konform sind, sowie zu den entsprechenden Anforderungen findest du in den folgenden externen Ressourcen: