Wymagania dotyczące podłączenia własnego dostawcy tożsamości do kont klientów

Zanim podłączysz własnego dostawcę tożsamości do kont klientów, upewnij się, że dostawca spełnia wszystkie wymagania techniczne, przeglądając dokumentację lub kontaktując się z dostawcą tożsamości w celu uzyskania pomocy technicznej.

Wymagania dla dostawców tożsamości

Aby możliwa była integracja ze sklepem Shopify, dostawca tożsamości musi spełniać następujące wymagania:

  • Dostawca tożsamości obsługuje przepływ kodu autoryzacyjnego OAuth 2.0. Przepływy niejawne i hybrydowe nie są obsługiwane. Domyślną metodą uwierzytelniania punktu końcowego tokena jest client_secret_basic.
  • Dostawca tożsamości obsługuje Proof Key for Code Exchange (PKCE) dla klientów publicznych.
  • Dostawca tożsamości jest zgodny ze standardem OpenID Connect (OIDC) w zakresie uwierzytelniania.
  • Dostawca tożsamości obsługuje OpenID Connect RP-Initiated Logout 1.0 do wylogowywania. Wylogowywanie Back-Channel i Front-Channel nie jest obsługiwane.
  • Dostawca tożsamości obsługuje adres e-mail jako unikalny identyfikator użytkowników, a weryfikacja adresu e-mail jest częścią procesu rejestracji.

Wymagania dotyczące punktów końcowych

Dostawca tożsamości, z którym się łączysz, musi obsługiwać określone punkty końcowe. Przejrzyj poniższą tabelę, aby dowiedzieć się więcej o wymaganych punktach końcowych, ich specyfikacjach i przykładach.

Wymagane punkty końcowe dostawcy tożsamości
Wymagany punkt końcowyPrzykładowa domena i ścieżkaSpecyfikacje
Autoryzacjahttps://auth.provider.com/authorizeRFC 6749, sekcja 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749, sekcja 4.1.3RFC 6749, sekcja 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517, sekcja 5
Odkrywaniehttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Wymagania dotyczące czasu odpowiedzi punktu końcowego

Punkty końcowe tokena, discovery i userinfo Twojego dostawcy tożsamości muszą odpowiadać na żądania z Shopify w ciągu 1 sekundy. Jeśli odpowiedź punktu końcowego zajmie więcej niż 1 sekundę, żądanie przekroczy limit czasu, a proces logowania zakończy się niepowodzeniem. Aby uniknąć przekroczenia limitu czasu, upewnij się, że Twój dostawca tożsamości jest hostowany w środowisku o niskim opóźnieniu i wystarczającej wydajności.

Wymagania dotyczące aplikacji mobilnych

Jeśli sklep ma aplikację mobilną, punkt końcowy autoryzacji dostawcy tożsamości musi obsługiwać następujące parametry:

  • code_challenge: Weryfikuje, czy klient żądający tokenu jest tym samym klientem, który zainicjował żądanie.
  • code_challenge_method: Ten punkt końcowy musi mieć ustawioną wartość S256.

Wymagania dotyczące ID tokena

ID tokena jest dowodem uwierzytelnienia wydawanym przez dostawcę tożsamości po pomyślnym zalogowaniu się użytkownika. Zapoznaj się z poniższymi wymaganiami dotyczącymi oświadczeń i podpisów dla ID tokenów.

Wymagane oświadczenia

Oświadczenia (claims) to informacje o użytkowniku udostępniane przez dostawcę tożsamości, które są używane do uwierzytelniania. Podczas podłączania kont klientów do własnego dostawcy tożsamości następujące oświadczenia są wymagane w konfiguracji ID tokena:

  • sub: Unikalny identyfikator użytkownika w ramach dostawcy tożsamości.
  • nonce: Unikalny ciąg znaków zawarty w ID tokenie, który zapobiega atakom typu replay.
  • email: Unikalny adres e-mail użytkownika używany do udostępniania konta klienta. W przypadku integracji z Entra ID i Azure AD zamiast oświadczenia email używane jest oświadczenie upn, które musi wskazywać prawidłowy adres e-mail, na który mogą być wysyłane powiadomienia dotyczące zamówień i klientów.
  • email_verified: Wartość logiczna (boolean) wskazująca, czy adres e-mail został zweryfikowany przez dostawcę tożsamości. Wartość email_verified musi wynosić true.
  • iss: Identyfikator wystawcy dla dostawcy tożsamości.
  • aud: Odbiorcy, dla których przeznaczony jest ID tokena, znani również jako ID klienta.

Wymagania dotyczące podpisu tokena

Wymagania dotyczące podpisu pomagają dostawcy tożsamości zweryfikować tożsamość użytkownika podczas procesu logowania. Dostawca tożsamości musi podpisywać ID tokeny przy użyciu jednego z następujących obsługiwanych algorytmów:

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

Tokeny podpisane za pomocą HS256 (HMAC ze wspólnym kluczem tajnym) nie są obsługiwane.

Wymagania dotyczące sesji i tokenów

Shopify używa tokenów odświeżania, aby utrzymywać sesje klientów przez maksymalnie 90 dni. Bez tokenu odświeżania sesje zakończą się, gdy wygaśnie token dostępu od dostawcy tożsamości, co następuje zazwyczaj po 1 godzinie.

Aby obsługiwać długotrwałe sesje klientów, dostawca tożsamości musi spełniać następujące wymagania:

  • Dostawca tożsamości musi obsługiwać wydawanie tokenów odświeżania zgodnie z definicją w dokumencie RFC 6749, sekcja 1.5.
  • Dostawca tożsamości musi być skonfigurowany tak, aby zwracał tokeny odświeżania w odpowiedzi tokenu.

Dodatkowe zasoby

Aby dowiedzieć się więcej o dostawcach tożsamości zgodnych z OpenID Connect (OIDC) i wymaganiach, zapoznaj się z następującymi zasobami zewnętrznymi: