Anforderungen für die Verbindung deines eigenen Identitätsanbieters mit Kundenkonten

Bevor du deinen eigenen Identitätsanbieter mit Kundenkonten verbindest, stelle sicher, dass dein Anbieter alle technischen Anforderungen erfüllt. Überprüfe dazu die Dokumentation oder wende dich für Support an deinen Identitätsanbieter.

Anforderungen für 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_basic ist die standardmäßige Authentifizierungsmethode für den Token-Endpunkt.
  • Der Identitätsanbieter unterstützt Proof Key for Code Exchange (PKCE) für öffentliche Clients.
  • Der Identitätsanbieter ist mit dem OpenID Connect (OIDC)-Standard für die Authentifizierung 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.

Anforderungen an Endpunkte

Der Identitätsanbieter, den du verbindest, muss bestimmte Endpunkte unterstützen. In der folgenden Tabelle findest du weitere Informationen zu den erforderlichen Endpunkten, ihren Spezifikationen und Beispielen.

Erforderliche Endpunkte des Identitätsanbieters
Erforderlicher EndpunktBeispiel-Domain und -PfadSpezifikationen
Autorisierunghttps://auth.provider.com/authorizeRFC 6749, Abschnitt 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749, Abschnitt 4.1.3 und RFC 6749, Abschnitt 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517, Abschnitt 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Anforderungen an die Antwortzeit von Endpunkten

Die Token-, Discovery- und Userinfo-Endpunkte deines Identitätsanbieters müssen auf Anfragen von Shopify innerhalb von 1 Sekunde antworten. Wenn ein Endpunkt für die Antwort länger als 1 Sekunde benötigt, kommt es zu einer Zeitüberschreitung bei der Anfrage und der Login schlägt fehl. Stelle sicher, dass dein Identitätsanbieter in einer Umgebung mit niedriger Latenz und ausreichender Kapazität gehostet wird, um Zeitüberschreitungen zu vermeiden.

Anforderungen für Mobilgeräte

Wenn dein Shop über eine mobile App verfügt, muss der Autorisierungs-Endpunkt des Identitätsanbieters die folgenden Parameter unterstützen:

  • code_challenge: Überprüft, ob der Client, der das Token anfordert, derselbe Client ist, der die Anfrage initiiert hat.
  • code_challenge_method: Dieser Endpunkt muss auf S256 eingestellt sein.

Anforderungen an ID-Token

Ein ID-Token ist ein von deinem Identitätsanbieter ausgestellter Authentifizierungsnachweis, nachdem sich eine Benutzer:in erfolgreich angemeldet hat. Lies die folgenden Anforderungen an Claims und Unterzeichner für ID-Token.

Erforderliche Claims

Claims sind Aussagen, die dein Identitätsanbieter über eine Benutzer:in teilt und die zur Authentifizierung verwendet werden. Wenn du Kundenkonten mit deinem eigenen Identitätsanbieter verbindest, sind die folgenden Claims im ID-Token-Setup erforderlich:

  • sub: Eine eindeutige ID für die Benutzer:in bei deinem Identitätsanbieter.
  • nonce: Ein eindeutiger String, der im ID-Token enthalten ist, um Replay-Angriffe zu verhindern.
  • email: Die eindeutige E-Mail-Adresse der Benutzer:in, die für die Bereitstellung des Kundenkontos verwendet wird. Bei Integrationen mit Entra ID und Azure AD wird anstelle von email der upn-Claim verwendet. Dieser muss auf eine gültige E-Mail-Adresse verweisen, die Mitteilungen zu Bestellungen und Kundschaft empfangen kann.
  • email_verified: Ein boolescher Wert, der angibt, ob die E-Mail-Adresse vom Identitätsanbieter verifiziert wurde. Der Wert für email_verified muss true sein.
  • iss: Die Issuer-ID deines Identitätsanbieters.
  • aud: Die Zielgruppe, für die das ID-Token bestimmt ist, auch als deine Client-ID bekannt.

Anforderungen an die Token-Signatur

Signaturanforderungen helfen deinem Identitätsanbieter, die Identität einer Benutzer:in während des Anmeldevorgangs zu verifizieren. 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

Mit HS256 (HMAC mit geteiltem Geheimnis) signierte Token werden nicht unterstützt.

Anforderungen an Sitzungen und Token

Shopify verwendet Aktualisierungstoken, um Kundensitzungen bis zu 90 Tage lang aufrechtzuerhalten. Ohne Aktualisierungstoken enden die Sitzungen, wenn das Zugriffstoken deines Identitätsanbieters abläuft (in der Regel nach 1 Stunde).

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 Aktualisierungstoken in der Token-Antwort zurückgibt.

Zusätzliche Ressourcen

Um mehr über OpenID Connect (OIDC)-konforme Identitätsanbieter und deren Anforderungen zu erfahren, sieh dir die folgenden externen Ressourcen an: