Requisitos para conectar tu propio proveedor de identidad a las cuentas de cliente

Antes de connect your own identity provider a las cuentas de cliente, asegúrate de que tu proveedor cumpla todos los requisitos técnicos. Revisa la documentación o comunícate con tu proveedor de identidad para recibir 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 OAuth 2.0 authorization code flow. Los flujos implícito e híbrido no son compatibles. El método de autenticación predeterminado del terminal de token es client_secret_basic.
  • El proveedor de identidad admite Proof Key for Code Exchange (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 el cierre de sesión. No se admiten los cierres de sesión Back-Channel ni Front-Channel.
  • El proveedor de identidad admite el correo electrónico como identificador único de las personas usuarias y la verificación por correo electrónico forma parte del proceso de registro.

Requisitos de terminales

El proveedor de identidad que conectes debe admitir terminales específicos. Revisa la siguiente tabla para conocer los terminales requeridos, sus especificaciones y ejemplos.

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

Requisitos de tiempo de respuesta de la terminal

Las terminales de token, descubrimiento e información del usuario de tu proveedor de identidad deben responder a las solicitudes de Shopify en un plazo de 1 segundo. Si una terminal tarda más de 1 segundo en responder, se agotará el tiempo de espera de la solicitud y fallará el flujo de inicio de sesión. 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 la tienda tiene una mobile app, 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 parámetro debe configurarse en S256.

Requisitos del token de identificación

Un token de identificación es una prueba de autenticación emitida por tu proveedor de identidad después de que una persona usuaria inicie sesión correctamente. Revisa los siguientes requisitos de declaraciones y de firma para los tokens de identificación.

Declaraciones obligatorias

Las declaraciones son datos que tu proveedor de identidad comparte sobre una persona usuaria y se utilizan para la autenticación. Cuando conectas 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 de la persona usuaria dentro de tu proveedor de identidad.
  • nonce: una cadena única incluida en el token de identificación para prevenir ataques de repetición.
  • email: la dirección de correo electrónico única de la persona usuaria que se usa 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 comunicaciones relacionadas con pedidos y clientes.
  • email_verified: un valor booleano que indica si el proveedor de identidad verificó el correo electrónico. El valor de email_verified debe ser true.
  • iss: el identificador del emisor de tu proveedor de identidad.
  • aud: la audiencia a la que está dirigido el token de identificación, también conocida como ID de cliente.

Requisitos de firma del token

Los requisitos de firma ayudan a tu proveedor de identidad a verificar la identidad de una persona usuaria durante el proceso de inicio de sesión. Tu proveedor de identidad debe firmar los tokens de identificación con alguno de los siguientes algoritmos compatibles:

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

Los tokens firmados con HS256 (HMAC con secreto compartido) no son compatibles.

Requisitos de sesión y token

Shopify usa tokens de actualización para mantener las sesiones de cliente por hasta 90 días. Sin un token de actualización, las sesiones finalizarán cuando venza el token de acceso de tu proveedor de identidad, que suele ser de 1 hora.

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

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

Recursos adicionales

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