Wymagania dotyczące łączenia własnego dostawcy tożsamości z kontami klientów

Zanim połączysz własnego dostawcę tożsamości z kontami klientów, upewnij się, że spełnia on wszystkie wymagania techniczne. W tym celu zapoznaj się z jego dokumentacją lub skontaktuj z zespołem pomocy technicznej swojego dostawcy.

Wymagania dla dostawców tożsamości

Aby zintegrować się 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 (implicit) i hybrydowe (hybrid) nie są obsługiwane. client_secret_basic jest domyślną metodą uwierzytelniania punktu końcowego tokena.
  • Dostawca tożsamości obsługuje standard Proof Key for Code Exchange (PKCE) dla klientów publicznych.
  • Dostawca tożsamości jest zgodny ze standardem uwierzytelniania OpenID Connect (OIDC).
  • Dostawca tożsamości obsługuje funkcję wylogowywania OpenID Connect RP-Initiated Logout 1.0. Wylogowywanie typu Back-Channel i Front-Channel nie jest obsługiwane.
  • Dostawca tożsamości obsługuje adres e-mail jako unikalny identyfikator dla użytkowników, a weryfikacja adresu e-mail stanowi część procesu rejestracji.

Wymagania dla 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.3 i RFC 6749, sekcja 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517, sekcja 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Wymagania dotyczące czasu odpowiedzi punktu końcowego

Żądania wysyłane z Shopify do punktów końcowych tokena, discovery i userinfo Twojego dostawcy tożsamości muszą otrzymywać odpowiedź w ciągu 1 sekundy. Jeśli czas odpowiedzi punktu końcowego przekroczy 1 sekundę, nastąpi przekroczenie limitu czasu żądania i proces logowania zakończy się niepowodzeniem. Aby uniknąć przekroczeń limitu czasu, upewnij się, że Twój dostawca tożsamości jest hostowany w środowisku o niskich opóźnieniach i odpowiedniej przepustowości.

Wymagania dla urządzeń mobilnych

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

  • code_challenge: weryfikuje, czy klient żądający tokena to ten sam klient, który zainicjował żądanie.
  • code_challenge_method: ten punkt końcowy musi być ustawiony na S256.

Wymagania dotyczące ID tokena

ID token to dowód uwierzytelnienia wydawany przez dostawcę tożsamości po pomyślnym zalogowaniu się użytkownika. Zapoznaj się z poniższymi wymaganiami dotyczącymi oświadczeń i sygnatur dla ID tokenów.

Wymagane oświadczenia

Oświadczenia to informacje o użytkowniku udostępniane przez dostawcę tożsamości, które są wykorzystywane do uwierzytelniania. W przypadku łączenia kont klientów z własnym dostawcą tożsamości w konfiguracji ID tokena wymagane są następujące oświadczenia:

  • sub: unikalny identyfikator użytkownika u Twojego dostawcy tożsamości.
  • nonce: unikalny ciąg znaków zawarty w ID tokenie, zapobiegający atakom typu replay.
  • email: unikalny adres e-mail użytkownika służący do obsługi konta klienta. W przypadku integracji z Entra ID i Azure AD zamiast oświadczenia email używane jest upn, które musi wskazywać na prawidłowy adres e-mail, mogący odbierać wiadomości dotyczące zamówień i klientów.
  • email_verified: wartość logiczna określająca, czy adres e-mail został zweryfikowany przez dostawcę tożsamości. Wartość dla email_verified musi wynosić true.
  • iss: identyfikator wystawcy dla Twojego dostawcy tożsamości.
  • aud: odbiorca (audience), dla którego przeznaczony jest ID token, znany również jako ID klienta.

Wymagania dotyczące podpisu tokena

Wymagania dotyczące podpisów pomagają Twojemu dostawcy tożsamości weryfikować tożsamość użytkownika podczas procesu logowania. Twój 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 algorytmem HS256 (HMAC ze wspólnym sekretem) nie są obsługiwane.

Wymagania dotyczące sesji i tokenów

Shopify używa tokenów odświeżania do utrzymywania sesji klientów przez okres do 90 dni. Bez tokena odświeżania sesje zakończą się z chwilą wygaśnięcia tokena dostępu od Twojego dostawcy tożsamości, co zwykle następuje po 1 godzinie.

Aby obsługiwać długotrwałe sesje klientów, Twój 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 RFC 6749, sekcja 1.5.
  • Dostawca tożsamości musi być tak skonfigurowany, aby zwracał tokeny odświeżania w odpowiedzi tokena.

Dodatkowe zasoby

Aby dowiedzieć się więcej o dostawcach tożsamości zgodnych z OpenID Connect (OIDC) oraz wymaganiach, przejrzyj poniższe zewnętrzne zasoby: