Requisitos para conectar um provedor de identidade a contas de cliente
Antes de conectar o provedor de identidade a contas de cliente, consulte a documentação ou entre em contato com o suporte dele para verificar se todos os requisitos técnicos são atendidos.
Nesta página
Requisitos para provedores de identidade
Para fazer a integração com a loja na Shopify, o provedor de identidade precisa atender aos seguintes requisitos:
- O provedor de identidade é compatível com o fluxo de código de autorização do OAuth 2.0. Os fluxos implícitos e híbridos não são compatíveis.
client_secret_basicé o método de autenticação de endpoint de token padrão. - O provedor de identidade é compatível com a Proof Key for Code Exchange (PKCE) para clientes públicos.
- O provedor de identidade é compatível com o padrão OpenID Connect (OIDC) para autenticação.
- O provedor de identidade é compatível com o OpenID Connect RP-Initiated Logout 1.0 para logout. Os logouts de Back-Channel e Front-Channel não são compatíveis.
- O provedor de identidade é compatível com o e-mail como identificador exclusivo dos usuários, e a verificação de e-mail faz parte do processo de cadastro.
Requisitos de endpoint
O provedor de identidade que será conectado precisa ser compatível com endpoints específicos. Consulte a tabela a seguir para saber mais sobre os endpoints obrigatórios, bem como suas especificações e exemplos.
| Endpoint obrigatório | Exemplo de domínio e caminho | Especificações |
|---|---|---|
| Autorização | https://auth.provider.com/authorize | RFC 6749 Seção 4.1 |
| Token | https://auth.provider.com/token | RFC 6749 Seção 4.1.3 e RFC 6749 Seção 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 Seção 5 |
| Discovery | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
Requisitos de tempo de resposta do endpoint
As solicitações da Shopify aos endpoints token, discovery e userinfo do provedor de identidade precisam ser respondidas em 1 segundo. Se um endpoint demorar mais de 1 segundo para responder, o tempo da solicitação se esgotará e o fluxo de login falhará. Para evitar problemas com tempo limite, o provedor de identidade precisa ser hospedado em um ambiente com baixa latência e capacidade suficiente.
Requisitos para dispositivos móveis
Se a loja tiver um app para dispositivos móveis, o endpoint de autorização do provedor de identidade precisará ser compatível com os seguintes parâmetros:
code_challenge: verifica se o cliente que está solicitando o token é o mesmo que iniciou a solicitação.code_challenge_method: esse endpoint precisa ser definido comoS256.
Requisitos do token de ID
O token de ID é uma prova de autenticação emitido pelo provedor de identidade após o login bem-sucedido do usuário. Consulte a seguir os requisitos de declarações e de signatário para tokens de ID.
Declarações obrigatórias
As declarações são afirmações que o provedor de identidade compartilha sobre o usuário e que são usadas para autenticação. Ao conectar as contas de cliente ao próprio provedor de identidade, as seguintes declarações são obrigatórias na configuração do token de ID:
sub: um identificador exclusivo do usuário no provedor de identidade.nonce: uma string exclusiva incluída no token de ID para evitar ataques de repetição.email: o endereço de e-mail exclusivo do usuário, utilizado para provisionar a conta de cliente. Nas integrações do Entra ID e do Azure AD, a declaraçãoupné usada no lugar deemaile precisa apontar para um endereço de e-mail válido, capaz de receber comunicações relacionadas a pedidos e clientes.email_verified: um valor booleano que indica se o e-mail foi verificado pelo provedor de identidade. O valor deemail_verifiedprecisa sertrue.iss: o identificador do emissor do provedor de identidade.aud: o público ao qual o token de ID se destina, também conhecido como ID do cliente.
Requisitos de assinatura do token
Os requisitos de signatário ajudam o provedor de identidade a verificar a identidade de um usuário durante o processo de login. O provedor de identidade precisa assinar os tokens de ID usando um dos seguintes algoritmos compatíveis:
- RSA: RS256, RS384, RS512
- Curva elíptica: ES256, ES384, ES512, ES256K
- RSA-PSS: PS256, PS384, PS512
- EdDSA: ED25519, EdDSA
Não há compatibilidade com os tokens assinados com HS256 (HMAC com segredo compartilhado).
Requisitos de sessão e token
A Shopify usa tokens de atualização para manter as sessões dos clientes por até 90 dias. Sem o token de atualização, as sessões terminarão quando o token de acesso do provedor de identidade expirar, o que normalmente ocorre em 1 hora.
Para haver compatibilidade com sessões de cliente de longa duração, o provedor de identidade precisa atender aos seguintes requisitos:
- O provedor de identidade precisa ser compatível com a emissão de tokens de atualização, conforme definido na RFC 6749 Seção 1.5.
- O provedor de identidade precisa estar configurado para retornar os tokens de atualização na resposta do token.
Recursos adicionais
Para saber mais sobre provedores de identidade compatíveis com o OpenID Connect (OIDC) e os requisitos, consulte os seguintes recursos de terceiros: