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.

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.

Endpoints do provedor de identidade obrigatórios
Endpoint obrigatórioExemplo de domínio e caminhoEspecificações
Autorizaçãohttps://auth.provider.com/authorizeRFC 6749 Seção 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 Seção 4.1.3 e RFC 6749 Seção 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Seção 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID 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 como S256.

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ção upn é usada no lugar de email e 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 de email_verified precisa ser true.
  • 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: