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.
Na tej stronie
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.
| 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 |
| Odkrywanie | https://auth.provider.com/.well-known/openid-configuration | OpenID 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świadczeniaemailużywane jest oświadczenieupn, 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_verifiedmusi 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: