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.
Na tej stronie
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_basicjest 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.
| Wymagany punkt końcowy | Przykładowa domena i ścieżka | Specyfikacje |
|---|---|---|
| Autoryzacja | https://auth.provider.com/authorize | RFC 6749, sekcja 4.1 |
| Token | https://auth.provider.com/token | RFC 6749, sekcja 4.1.3 i RFC 6749, sekcja 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517, sekcja 5 |
| Discovery | https://auth.provider.com/.well-known/openid-configuration | OpenID 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 naS256.
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świadczeniaemailużywane jestupn, 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ść dlaemail_verifiedmusi 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: