Requisitos para conectar seu provedor de identidade às contas de cliente

Antes de conectar seu provedor de identidade às contas de cliente, verifique se ele atende a todos os requisitos técnicos analisando a documentação ou entrando em contato com o provedor de identidade para receber atendimento.

Requisitos para provedores de identidade

Para fazer a integração com sua 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. Fluxos implícitos e híbridos não são compatíveis. O client_secret_basic é o método de autenticação padrão para o endpoint de token.
  • O provedor de identidade é compatível com o Proof Key for Code Exchange (PKCE) para clientes públicos.
  • O provedor de identidade é compatível com o padrão de autenticação OpenID Connect (OIDC).
  • O provedor de identidade é compatível com o OpenID Connect RP-Initiated Logout 1.0 para logout. O logout de Back-Channel e Front-Channel não é compatível.
  • O provedor de identidade usa o e-mail como identificador exclusivo para os usuários, e a verificação de e-mail faz parte do processo de cadastro.

Requisitos de endpoint

O provedor de identidade que você conecta precisa ser compatível com endpoints específicos. Consulte a tabela a seguir para saber mais sobre os endpoints obrigatórios, suas especificações e exemplos.

Endpoints obrigatórios do provedor de identidade
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
Descobertahttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Requisitos de tempo de resposta do endpoint

Os endpoints de token, discovery e userinfo do provedor de identidade devem responder às solicitações da Shopify em 1 segundo. Se um endpoint demorar mais de 1 segundo para responder, a solicitação excederá o tempo limite e o fluxo de login falhará. Para evitar erros de tempo limite, certifique-se de que o provedor de identidade esteja hospedado em um ambiente com baixa latência e capacidade suficiente.

Requisitos para dispositivos móveis

Se sua 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 solicita o token é o mesmo que iniciou a solicitação.
  • code_challenge_method: este endpoint precisa ser definido como S256.

Requisitos do token de ID

Um token de ID é um comprovante de autenticação emitido pelo provedor de identidade depois que um usuário faz login. Confira os seguintes requisitos de declaração e assinatura para tokens de ID.

Declarações obrigatórias

Declarações são informações que seu provedor de identidade compartilha sobre um usuário e que são usadas para autenticação. Ao conectar as contas de cliente ao seu provedor de identidade, as seguintes declarações são obrigatórias na configuração do token de ID:

  • sub: um identificador exclusivo para o usuário no seu 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, usado para provisionar a conta de cliente. Para integrações com o Entra ID e o Azure AD, a declaração upn é usada em vez de email e precisa indicar um endereço de e-mail válido que possa receber comunicações sobre pedidos e clientes.
  • email_verified: um 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 para seu provedor de identidade.
  • aud: o público para o qual o token de ID se destina, também conhecido como ID do cliente.

Requisitos de assinatura do token

Os requisitos de assinatura ajudam seu provedor de identidade a verificar a identidade de um usuário durante o processo de login. Seu 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

Tokens assinados com HS256 (HMAC com segredo compartilhado) não são compatíveis.

Requisitos de sessão e token

A Shopify usa tokens de atualização para manter as sessões de clientes por até 90 dias. Sem esse token, as sessões terminam quando o token de acesso do provedor de identidade expira, o que geralmente ocorre em 1 hora.

Para oferecer suporte a sessões de clientes de longa duração, o provedor de identidade precisa atender aos seguintes requisitos:

  • O provedor de identidade precisa aceitar a emissão de tokens de atualização conforme definido na RFC 6749 Section 1.5.
  • O provedor de identidade precisa estar configurado para retornar tokens de atualização na resposta do token.