Cerințe pentru conectarea propriului furnizor de identitate la conturile de clienți

Înainte de a vă conecta propriul furnizor de identitate la conturile de clienți, asigurați-vă că acesta îndeplinește toate cerințele tehnice, consultând documentația sau contactând furnizorul dvs. de identitate pentru asistență.

Cerințe pentru furnizorii de identitate

Pentru a se integra cu magazinul dvs. Shopify, furnizorul de identitate trebuie să îndeplinească următoarele cerințe:

  • Furnizorul de identitate acceptă fluxul codului de autorizare OAuth 2.0. Fluxurile implicite și hibride nu sunt acceptate. client_secret_basic este metoda implicită de autentificare pentru punctul final al tokenului.
  • Furnizorul de identitate acceptă Proof Key for Code Exchange (PKCE) pentru clienții publici.
  • Furnizorul de identitate este conform cu standardul OpenID Connect (OIDC) pentru autentificare.
  • Furnizorul de identitate acceptă OpenID Connect RP-Initiated Logout 1.0 pentru deconectare. Deconectarea Back-Channel și Front-Channel nu este acceptată.
  • Furnizorul de identitate acceptă adresa de e-mail ca identificator unic pentru utilizatori, iar verificarea e-mailului face parte din procesul de înregistrare.

Cerințe privind punctele finale

Furnizorul de identitate la care vă conectați trebuie să accepte anumite puncte finale. Consultați tabelul următor pentru a afla mai multe despre punctele finale necesare, specificațiile și exemplele acestora.

Punctele finale necesare ale furnizorului de identitate
Punctul final necesarExemplu de domeniu și caleSpecificații
Autorizarehttps://auth.provider.com/authorizeRFC 6749 Secțiunea 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 Secțiunea 4.1.3 și RFC 6749 Secțiunea 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Secțiunea 5
Descoperirehttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Cerințe privind timpul de răspuns al punctelor finale

Solicitările de la Shopify către punctele finale token, descoperire și userinfo ale furnizorului dvs. de identitate trebuie să răspundă în 1 secundă. Dacă un punct final are nevoie de mai mult de 1 secundă pentru a răspunde, solicitarea va expira, iar fluxul de conectare va eșua. Pentru a evita expirările de timp, asigurați-vă că furnizorul dvs. de identitate este găzduit într-un mediu cu latență scăzută și capacitate suficientă.

Cerințe pentru mobil

Dacă magazinul dvs. are o aplicație mobilă, atunci punctul final de Autorizare al furnizorului de identitate trebuie să accepte următorii parametri:

  • code_challenge: Verifică dacă clientul care solicită tokenul este același client care a inițiat solicitarea.
  • code_challenge_method: Acest punct final trebuie setat la S256.

Cerințe pentru tokenul ID

Un token ID este o dovadă a autentificării, emisă de furnizorul dvs. de identitate după ce un utilizator se conectează cu succes. Consultați următoarele cerințe privind revendicările și semnatarul pentru tokenurile ID.

Revendicări necesare

Revendicările sunt declarații pe care furnizorul dvs. de identitate le partajează despre un utilizator, fiind folosite pentru autentificare. Atunci când conectați conturile de client la propriul furnizor de identitate, în configurarea tokenului ID sunt necesare următoarele revendicări:

  • sub: Un identificator unic pentru utilizator în cadrul furnizorului dvs. de identitate.
  • nonce: Un șir unic inclus în tokenul ID pentru a preveni atacurile de tip „replay”.
  • email: Adresa unică de e-mail a utilizatorului folosită pentru crearea contului de client. Pentru integrările Entra ID și Azure AD, revendicarea upn este utilizată în loc de email și trebuie să indice spre o adresă de e-mail validă care poate primi comunicări legate de comenzi și clienți.
  • email_verified: O valoare booleană care indică dacă e-mailul a fost verificat de furnizorul de identitate. Valoarea pentru email_verified trebuie să fie true.
  • iss: Identificatorul emitentului pentru furnizorul dvs. de identitate.
  • aud: Audiența căreia îi este destinat tokenul ID, cunoscută și sub numele de ID-ul dvs. de client.

Cerințe privind semnătura tokenului

Cerințele privind semnatarul ajută furnizorul dvs. de identitate să verifice identitatea unui utilizator în timpul procesului de conectare. Furnizorul dvs. de identitate trebuie să semneze tokenurile ID folosind unul dintre următorii algoritmi acceptați:

  • RSA: RS256, RS384, RS512
  • Curba eliptică: ES256, ES384, ES512, ES256K
  • RSA-PSS: PS256, PS384, PS512
  • EdDSA: ED25519, EdDSA

Tokenurile semnate cu HS256 (HMAC cu secret partajat) nu sunt acceptate.

Cerințe privind sesiunea și tokenul

Shopify folosește tokenuri de reîmprospătare pentru a menține sesiunile clienților timp de până la 90 de zile. Fără un token de reîmprospătare, sesiunile se vor încheia la expirarea tokenului de acces de la furnizorul dvs. de identitate, care este, de obicei, de 1 oră.

Pentru a accepta sesiuni de client de lungă durată, furnizorul dvs. de identitate trebuie să îndeplinească următoarele cerințe:

  • Furnizorul de identitate trebuie să accepte emiterea de tokenuri de reîmprospătare, așa cum este definit în RFC 6749 Secțiunea 1.5.
  • Furnizorul de identitate trebuie să fie configurat pentru a returna tokenuri de reîmprospătare în răspunsul pentru token.

Resurse suplimentare

Pentru a afla mai multe despre cerințele și furnizorii de identitate conformi cu OpenID Connect (OIDC), consultați următoarele resurse externe: