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:

Esta guía asume que tienes un entendimiento básico de los Conectores de Logto. Para aquellos que no están familiarizados, por favor consulta la guía de 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, por favor consulta el tutorial de Logto.

nota:

El inicio de sesión con 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 con Apple en dispositivos Android es excelente si también ofreces una aplicación para Android.

Necesitas inscribirte en el Apple Developer Program antes de continuar.

Habilitar el inicio de sesión con Apple para tu aplicación

precaución:

Incluso si deseas implementar el inicio de 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 Certificates, Identifiers & Profiles.

Habilitar inicio de 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 Certificates, Identifiers & Profiles, luego haz clic en el botón "+" junto a "Identifier".
  2. En la página "Registrar un nuevo identificador", elige "Services IDs" y haz clic en "Continue".
  3. Completa "Description" e "Identifier" (Ej., Logto Test y io.logto.test), luego haz clic en "Continue".
  4. Verifica la información y haz clic en "Register".

Habilitar el inicio de sesión con Apple para tu identificador

Haz clic en el identificador que acabas de crear. Marca "Sign in with Apple" en la página de detalles y haz clic en "Configure".

Habilitar inicio de sesión con Apple

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

Ingresa el dominio de tu instancia de Logto sin protocolo ni puerto, por ejemplo, your.logto.domain; luego ingresa la "Return URL" (es decir, Redirect URI), 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.

Dominio y URL

Haz clic en "Next" y luego en "Done" para cerrar el modal. Haz clic en "Continue" en la esquina superior derecha, luego haz clic en "Save" 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 las 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 Apple Sign In" 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 (email name scope), la pantalla de consentimiento que los nuevos usuarios ven durante su primer inicio de sesión debería verse similar a esta:

Pantalla de consentimiento de inicio de 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.