Exigences pour connecter votre propre fournisseur d’identité aux comptes clients
Avant de connecter votre propre fournisseur d’identité aux comptes clients, assurez-vous que ce dernier répond à toutes les exigences techniques. Pour ce faire, passez en revue sa documentation ou contactez son équipe d’assistance.
Sur cette page
Exigences pour les fournisseurs d’identité
Pour s’intégrer à votre boutique Shopify, le fournisseur d’identité doit répondre aux exigences suivantes :
- Le fournisseur d’identité prend en charge le flux de code d’autorisation OAuth 2.0. Les flux implicites et hybrides ne sont pas pris en charge.
client_secret_basicest la méthode d’authentification par défaut du point de terminaison de jeton. - Le fournisseur d’identité prend en charge la clé de preuve pour l’échange de code (PKCE) pour les clients publics.
- Le fournisseur d’identité est conforme à la norme OpenID Connect (OIDC) pour l’authentification.
- Le fournisseur d’identité prend en charge OpenID Connect RP-Initiated Logout 1.0 pour la déconnexion. Les déconnexions Back-Channel et Front-Channel ne sont pas prises en charge.
- Le fournisseur d’identité prend en charge l’e-mail comme identifiant unique pour les utilisateurs, et la vérification de l’e-mail fait partie du processus d’inscription.
Exigences relatives aux points de terminaison
Le fournisseur d’identité auquel vous vous connectez doit prendre en charge des points de terminaison spécifiques. Consultez le tableau suivant pour en savoir plus sur les points de terminaison requis, leurs spécifications et des exemples.
| Point de terminaison requis | Exemple de domaine et de chemin | Spécifications |
|---|---|---|
| Autorisation | https://auth.provider.com/authorize | RFC 6749 Section 4.1 |
| Jeton | https://auth.provider.com/token | RFC 6749 Section 4.1.3 et RFC 6749 Section 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 Section 5 |
| Découverte | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
Exigences relatives au temps de réponse des points de terminaison
Les requêtes de Shopify vers les points de terminaison de jeton, de découverte et d’informations utilisateur de votre fournisseur d’identité doivent répondre dans un délai d’1 seconde. Si un point de terminaison met plus d’une seconde à répondre, la requête expirera et le flux de connexion échouera. Pour éviter les expirations de délai, assurez-vous que votre fournisseur d’identité est hébergé dans un environnement à faible latence et d’une capacité suffisante.
Exigences pour les appareils mobiles
Si votre boutique dispose d’une application mobile, le point de terminaison d’autorisation du fournisseur d’identité doit prendre en charge les paramètres suivants :
code_challenge: vérifie que le client demandant le jeton est le même que celui qui a initié la requête.code_challenge_method: ce point de terminaison doit être défini surS256.
Exigences relatives aux jetons d’identité
Un jeton d’identité est une preuve d’authentification, émise par votre fournisseur d’identité après la connexion réussie d’un utilisateur. Consultez les exigences suivantes en matière de revendications et de signataires pour les jetons d’identité.
Revendications requises
Les revendications sont des déclarations que votre fournisseur d’identité partage sur un utilisateur, et qui sont utilisées pour l’authentification. Lors de la connexion de comptes clients à votre propre fournisseur d’identité, les revendications suivantes sont requises dans la configuration du jeton d’identité :
sub: un identifiant unique pour l’utilisateur au sein de votre fournisseur d’identité.nonce: une chaîne unique incluse dans le jeton d’identité pour prévenir les attaques par rejeu.email: l’adresse e-mail unique de l’utilisateur utilisée pour provisionner le compte client. Pour les intégrations Entra ID et Azure AD, la revendicationupnest utilisée au lieu deemail, et doit pointer vers une adresse e-mail valide capable de recevoir des communications liées aux commandes et aux clients.email_verified: un booléen indiquant si l’e-mail a été vérifié par le fournisseur d’identité. La valeur deemail_verifieddoit êtretrue.iss: l’identifiant de l’émetteur pour votre fournisseur d’identité.aud: l’audience à laquelle le jeton d’identité est destiné, également connue sous le nom de votre ID client.
Exigences de signature de jeton
Les exigences de signature aident votre fournisseur d’identité à vérifier l’identité d’un utilisateur pendant le processus de connexion. Votre fournisseur d’identité doit signer les jetons d’identité en utilisant l’un des algorithmes pris en charge suivants :
- RSA : RS256, RS384, RS512
- Courbe elliptique : ES256, ES384, ES512, ES256K
- RSA-PSS : PS256, PS384, PS512
- EdDSA : ED25519, EdDSA
Les jetons signés avec HS256 (HMAC avec secret partagé) ne sont pas pris en charge.
Exigences relatives aux sessions et aux jetons
Shopify utilise des jetons d’actualisation pour maintenir les sessions des clients jusqu’à 90 jours. Sans jeton d’actualisation, les sessions prendront fin à l’expiration du jeton d’accès de votre fournisseur d’identité, ce qui est généralement d’1 heure.
Pour prendre en charge les sessions clients de longue durée, votre fournisseur d’identité doit répondre aux exigences suivantes :
- Le fournisseur d’identité doit prendre en charge l’émission de jetons d’actualisation telle que définie dans la RFC 6749 Section 1.5.
- Le fournisseur d’identité doit être configuré pour renvoyer des jetons d’actualisation dans la réponse de jeton.
Ressources supplémentaires
Pour en savoir plus sur les fournisseurs d’identité conformes à OpenID Connect (OIDC) et leurs exigences, consultez les ressources tierces suivantes :