Requisitos para conectar tu propio proveedor de identidad a las cuentas de los clientes

Antes de conectar tu propio proveedor de identidad a las cuentas de los clientes, asegúrate de que el proveedor cumpla todos los requisitos técnicos. Para ello, revisa la documentación o ponte en contacto con tu proveedor de identidad para obtener ayuda.

Requisitos para proveedores de identidad

Para integrarse con tu tienda Shopify, el proveedor de identidad debe cumplir los siguientes requisitos:

  • El proveedor de identidad admite el flujo de código de autorización de OAuth 2.0. No se admiten los flujos implícitos ni híbridos. client_secret_basic es el método de autenticación del terminal del token predeterminado.
  • El proveedor de identidad admite la clave de prueba para el intercambio de código (PKCE) para clientes públicos.
  • El proveedor de identidad cumple con el estándar OpenID Connect (OIDC) para la autenticación.
  • El proveedor de identidad admite OpenID Connect RP-Initiated Logout 1.0 para cerrar la sesión. No se admite el cierre de sesión de canal de retorno ni de canal frontal.
  • El proveedor de identidad admite el correo electrónico como identificador único para los usuarios, y la verificación del correo electrónico forma parte del proceso de registro.

Requisitos de terminal

El proveedor de identidad al que te conectes debe admitir terminales específicos. Revisa la siguiente tabla para obtener más información sobre los terminales requeridos, sus especificaciones y algunos ejemplos.

Terminales del proveedor de identidad requeridos
Terminal requeridoDominio y ruta de ejemploEspecificaciones
Autorizaciónhttps://auth.provider.com/authorizeRFC 6749 Sección 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 Sección 4.1.3 y RFC 6749 Sección 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Sección 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Requisitos de tiempo de respuesta de los terminales

Las solicitudes desde Shopify a los terminales de token, discovery y userinfo del proveedor de identidad deben responder en el plazo de 1 segundo. Si un terminal tarda más de 1 segundo en responder, la solicitud agotará el tiempo de espera y el flujo de inicio de sesión fallará. Para evitar que se agote el tiempo de espera, asegúrate de que tu proveedor de identidad esté alojado en un entorno con baja latencia y capacidad suficiente.

Requisitos para dispositivos móviles

Si tu tienda tiene una aplicación móvil, el terminal de autorización del proveedor de identidad debe admitir los siguientes parámetros:

  • code_challenge: verifica que el cliente que solicita el token sea el mismo que inició la solicitud.
  • code_challenge_method: este terminal debe estar configurado como S256.

Requisitos del token de identificación

Un token de identificación es una prueba de autenticación que emite tu proveedor de identidad después de que un usuario inicia sesión correctamente. Revisa los siguientes requisitos de declaraciones y firmas para los tokens de identificación.

Declaraciones requeridas

Las declaraciones son afirmaciones que tu proveedor de identidad comparte sobre un usuario, las cuales se utilizan para la autenticación. Al conectar las cuentas de cliente a tu propio proveedor de identidad, se requieren las siguientes declaraciones en la configuración del token de identificación:

  • sub: un identificador único para el usuario dentro de tu proveedor de identidad.
  • nonce: una cadena única incluida en el token de identificación para evitar ataques de repetición.
  • email: la dirección de correo electrónico única del usuario que se utiliza para aprovisionar la cuenta de cliente. Para las integraciones con Entra ID y Azure AD, se usa la declaración upn en lugar de email y debe apuntar a una dirección de correo electrónico válida que pueda recibir las comunicaciones relacionadas con los pedidos y los clientes.
  • email_verified: un valor booleano que indica si el proveedor de identidad ha verificado el correo electrónico. El valor de email_verified debe ser true.
  • iss: el identificador de emisor de tu proveedor de identidad.
  • aud: la audiencia a la que está destinado el token de identificación, también conocida como ID de cliente.

Requisitos de la firma del token

Los requisitos de firma ayudan a tu proveedor de identidad a verificar la identidad de un usuario durante el proceso de inicio de sesión. Tu proveedor de identidad debe firmar los tokens de identificación usando uno de los siguientes algoritmos admitidos:

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

No se admiten los tokens firmados con HS256 (HMAC con secreto compartido).

Requisitos de la sesión y del token

Shopify utiliza los tokens de actualización para mantener las sesiones de los clientes por un máximo de 90 días. Sin un token de actualización, las sesiones terminarán cuando venza el token de acceso de tu proveedor de identidad, que generalmente es de 1 hora.

Para admitir sesiones de clientes de larga duración, tu proveedor de identidad debe cumplir los siguientes requisitos:

  • El proveedor de identidad debe admitir la emisión de tokens de actualización como se define en la Sección 1.5 de RFC 6749.
  • El proveedor de identidad debe estar configurado para devolver los tokens de actualización en la respuesta del token.

Recursos adicionales

Para obtener más información sobre los requisitos y los proveedores de identidad que cumplen con OpenID Connect (OIDC), revisa los siguientes recursos externos: