Saltar al contenido principal

Configura el inicio de sesión social con Apple

El conector oficial de Logto para el inicio de sesión social de Apple.

tip

En esta guía, asumimos que tienes conocimientos básicos de los conectores de Logto. Si no los tienes, consulta la guía Configurar conectores para comenzar.

Comenzar

Si no conoces el concepto del conector o no sabes cómo agregar este conector a tu experiencia de inicio de sesión, consulta el tutorial de Logto.

ℹ️ Nota

El inicio de sesión de Apple es obligatorio para AppStore si tienes otros métodos de inicio de sesión social en tu aplicación. Tener inicio de sesión de Apple en dispositivos Android es excelente si también ofreces una aplicación para Android.

Necesitas inscribirte en el Programa de Desarrolladores de Apple antes de continuar.

Habilitar Iniciar sesión con Apple para tu aplicación

⚠️ Precaución

Incluso si deseas implementar Iniciar sesión con Apple solo en una aplicación web, aún necesitas tener una aplicación existente que abrace el ecosistema de AppStore (es decir, tener un ID de aplicación válido).

Puedes hacerlo a través de Xcode -> Configuración del proyecto -> Firmado y Capacidades, o visitar Certificados, Identificadores y Perfiles.

Habilitar Iniciar sesión con Apple

Consulta la sección "Habilitar un ID de aplicación" en los documentos oficiales de Apple para más información.

Crear un identificador

  1. Visita Certificados, Identificadores y Perfiles, luego haz clic en el botón "+" junto a "Identificador".
  2. En la página "Registrar un nuevo identificador", elige "IDs de servicios" y haz clic en "Continuar".
  3. Completa "Descripción" e "Identificador" (por ejemplo, Logto Test y io.logto.test), luego haz clic en "Continuar".
  4. Verifica la información y haz clic en "Registrar".

Habilitar Iniciar sesión con Apple para tu identificador

Haz clic en el identificador que acabas de crear. Marca "Iniciar sesión con Apple" en la página de detalles y haz clic en "Configurar".

Habilitar Iniciar sesión con Apple

En el modal que se abre, selecciona el ID de aplicación que acabas de habilitar para Iniciar sesión con Apple.

Ingresa el dominio de tu instancia de Logto sin protocolo ni puerto, por ejemplo, your.logto.domain; luego ingresa la "URL de retorno" (es decir, URI de redirección), que es la URL de Logto con /callback/${connector_id}, por ejemplo, https://your.logto.domain/callback/apple-universal. Puedes obtener el connector_id generado aleatoriamente después de crear el conector de Apple en la Consola de Administración.

domain-and-url

Haz clic en "Siguiente" y luego en "Hecho" para cerrar el modal. Haz clic en "Continuar" en la esquina superior derecha, luego haz clic en "Guardar" para guardar tu configuración.

⚠️ Precaución

Apple NO permite URLs de retorno con protocolo HTTP y dominio localhost.

Si deseas probar localmente, necesitas editar el archivo /etc/hosts para mapear localhost a un dominio personalizado y configurar un entorno HTTPS local. mkcert puede ayudarte a configurar HTTPS local.

Configurar alcance

Para obtener el correo electrónico del usuario de Apple, necesitas configurar el alcance para incluir email. Para obtener tanto el correo electrónico como el nombre, puedes usar name email como el alcance. Consulta los documentos oficiales de Apple para más información.

ℹ️ Nota

El usuario puede optar por ocultar su dirección de correo electrónico de tu aplicación. En este caso, no podrás recuperar la dirección de correo electrónico real. En su lugar, se devolverá una dirección de correo electrónico como [email protected].

Trampas al configurar el alcance

Si has configurado tu aplicación para solicitar direcciones de correo electrónico de los usuarios después de que ya hayan iniciado sesión con Apple, no podrás recuperar las direcciones de correo electrónico de esos usuarios existentes, incluso si inician sesión nuevamente usando Apple ID. Para solucionar esto, necesitas instruir a tus usuarios para que visiten la página de gestión de cuentas de Apple ID y eliminen tu aplicación de la sección "Iniciar sesión con Apple". Esto se puede hacer seleccionando "Dejar de usar Iniciar sesión con Apple" en la página de detalles de tu aplicación.

Por ejemplo, si tu aplicación solicita tanto el correo electrónico como el nombre de los usuarios (alcance email name), la pantalla de consentimiento que ven los nuevos usuarios durante su primer inicio de sesión debería verse similar a esto:

Pantalla de consentimiento de Iniciar sesión con Apple

Consulta la discusión de desarrolladores aquí.

Probar el conector de Apple

Eso es todo. El conector de Apple debería estar disponible tanto en aplicaciones web como nativas. No olvides habilitar el conector social en la experiencia de inicio de sesión.