Requisiti per la connessione del proprio provider di identità agli account cliente

Prima di connettere il tuo provider di identità agli account cliente, assicurati che soddisfi tutti i requisiti tecnici controllando la documentazione o contattando l’assistenza del provider.

Requisiti dei provider di identità

Per integrarsi con il tuo negozio Shopify, il provider di identità deve soddisfare i seguenti requisiti:

  • Il provider di identità supporta il flusso con codice di autorizzazione di OAuth 2.0. I flussi impliciti e ibridi non sono supportati. client_secret_basic è il metodo di autenticazione dell’endpoint del token predefinito.
  • Il provider di identità supporta la Proof Key for Code Exchange (PKCE) per i client pubblici.
  • Il provider di identità è conforme allo standard OpenID Connect (OIDC) per l’autenticazione.
  • Il provider di identità supporta OpenID Connect RP-Initiated Logout 1.0 per il logout. I logout Back-Channel e Front-Channel non sono supportati.
  • Il provider di identità supporta l’email come identificatore univoco per gli utenti e la verifica dell’email fa parte del processo di registrazione.

Requisiti degli endpoint

Il provider di identità a cui ti colleghi deve supportare endpoint specifici. Consulta la tabella seguente per avere maggiori informazioni sugli endpoint richiesti, sulle relative specifiche ed esempi.

Endpoint del provider di identità richiesti
Endpoint richiestoEsempio di dominio e percorsoSpecifiche
Autorizzazionehttps://auth.provider.com/authorizeRFC 6749 Sezione 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 Sezione 4.1.3 e RFC 6749 Sezione 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Sezione 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Requisiti relativi al tempo di risposta dell’endpoint

Le richieste da parte di Shopify agli endpoint token, discovery e userinfo del tuo provider di identità devono ottenere una risposta entro 1 secondo. Se un endpoint impiega più di 1 secondo per rispondere, la richiesta scadrà e il flusso di accesso non andrà a buon fine. Per evitare timeout, assicurati che il tuo provider di identità sia ospitato in un ambiente a bassa latenza e con capacità sufficiente.

Requisiti per dispositivi mobili

Se il tuo negozio ha un’app mobile, l’endpoint Authorization del provider di identità deve supportare i seguenti parametri:

  • code_challenge: verifica che il client che richiede il token sia lo stesso client che ha avviato la richiesta.
  • code_challenge_method: questo endpoint deve essere impostato su S256.

Requisiti per i token ID

Un token ID è una prova di autenticazione, emessa dal tuo provider di identità dopo che un utente ha effettuato l’accesso correttamente. Consulta i seguenti requisiti per claim e firme dei token ID.

Claim richiesti

I claim sono dichiarazioni che il tuo provider di identità condivide su un utente, utilizzate per l’autenticazione. Quando colleghi gli account cliente al tuo provider di identità, sono richiesti i seguenti claim nella configurazione del token ID:

  • sub: un identificatore univoco per l’utente all’interno del tuo provider di identità.
  • nonce: una stringa univoca inclusa nel token ID per prevenire gli attacchi di tipo replay.
  • email: l’indirizzo email univoco dell’utente utilizzato per eseguire il provisioning dell’account cliente. Per le integrazioni di Entra ID e Azure AD, viene utilizzato il claim upn al posto di email, che deve puntare a un indirizzo email valido in grado di ricevere comunicazioni relative all’ordine e al cliente.
  • email_verified: un valore booleano che indica se l’email è stata verificata dal provider di identità. Il valore di email_verified deve essere true.
  • iss: l’identificatore dell’emittente per il tuo provider di identità.
  • aud: i destinatari a cui è destinato il token ID, noto anche come ID client.

Requisiti per la firma del token

I requisiti di firma aiutano il tuo provider di identità a verificare l’identità di un utente durante il processo di accesso. Il provider di identità deve firmare i token ID utilizzando uno dei seguenti algoritmi supportati:

  • RSA: RS256, RS384, RS512
  • Curva ellittica: ES256, ES384, ES512, ES256K
  • RSA-PSS: PS256, PS384, PS512
  • EdDSA: ED25519, EdDSA

I token firmati con HS256 (HMAC con segreto condiviso) non sono supportati.

Requisiti per sessioni e token

Shopify utilizza i token di aggiornamento per mantenere attive le sessioni dei clienti per un massimo di 90 giorni. In assenza di un token di aggiornamento, le sessioni terminano in seguito alla scadenza del token di accesso del tuo provider di identità, in genere dopo 1 ora.

Per supportare sessioni dei clienti prolungate, il provider di identità deve soddisfare i seguenti requisiti:

  • Il provider di identità deve supportare l’emissione di token di aggiornamento come definito in RFC 6749 Sezione 1.5.
  • Il provider di identità deve essere configurato in modo da restituire token di aggiornamento nella risposta del token.

Risorse aggiuntive

Per saperne di più sui provider di identità compatibili con OpenID Connect (OIDC) e sui requisiti, consulta le seguenti risorse di terze parti: