Cerințe pentru conectarea propriului furnizor de identitate la conturile de client

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

Cerințe pentru furnizorii de identitate

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

Cerințe pentru 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 acestora și exemple.

Puncte finale necesare ale furnizorului de identitate
Punct 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 punctului final

Solicitările de la Shopify către punctele finale pentru token, descoperire și informații despre utilizator ale furnizorului dumneavoastră de identitate trebuie să primească răspuns în termen de 1 secundă. Dacă un punct final necesită mai mult de 1 secundă pentru a răspunde, solicitarea va expira, iar fluxul de conectare va eșua. Pentru a evita expirarea timpului de așteptare, asigurați-vă că furnizorul dumneavoastră de identitate este găzduit într-un mediu cu latență scăzută și capacitate suficientă.

Cerințe pentru mobil

Dacă magazinul dumneavoastră 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ă de autentificare, emisă de furnizorul dumneavoastră de identitate după ce un utilizator se conectează cu succes. Examinați următoarele cerințe privind afirmațiile și semnătura pentru tokenurile ID.

Afirmații necesare

Afirmațiile sunt declarații pe care furnizorul dumneavoastră de identitate le partajează despre un utilizator, care sunt utilizate pentru autentificare. La conectarea conturilor de client la propriul furnizor de identitate, următoarele afirmații sunt necesare în configurarea tokenului ID:

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

Cerințe privind semnătura tokenului

Cerințele de semnătură ajută furnizorul de identitate să verifice identitatea unui utilizator în timpul procesului de conectare. Furnizorul dumneavoastră de identitate trebuie să semneze tokenurile ID utilizând unul dintre următorii algoritmi acceptați:

  • RSA: RS256, RS384, RS512
  • Curbă 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 sesiunile și tokenurile

Shopify utilizează 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 dumneavoastră de identitate, care este de obicei de 1 oră.

Pentru a asigura sesiuni de lungă durată pentru clienți, furnizorul dumneavoastră de identitate trebuie să îndeplinească următoarele cerințe:

  • Furnizorul de identitate trebuie să permită 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 tokenului.

Resurse suplimentare

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