Pular para o conteúdo principal

Configurar login social com Apple

O conector oficial do Logto para login social com Apple.

dica:

Este guia assume que você tem um entendimento básico dos Conectores (Connectors) do Logto. Para aqueles que não estão familiarizados, consulte o guia de Conectores para começar.

Primeiros passos

Se você não conhece o conceito de conector ou não sabe como adicionar este conector em Sign-in & account > Sign-up and sign-in, consulte o tutorial do Logto.

nota:

O login com Apple é obrigatório para a AppStore se você tiver outros métodos de login social em seu aplicativo. Ter o login com Apple em dispositivos Android é ótimo se você também fornecer um aplicativo Android.

Você precisa se inscrever no Apple Developer Program antes de continuar.

Ativar o login com Apple para seu aplicativo

cuidado:

Mesmo que você queira implementar o login com Apple apenas em um aplicativo web, ainda precisará ter um aplicativo existente que abrace o ecossistema da AppStore (ou seja, ter um ID de aplicativo válido).

Você pode fazer isso via Xcode -> Configurações do projeto -> Assinatura & Capacidades, ou visitar Certificates, Identifiers & Profiles.

Ativar login com Apple

Veja a seção "Enable an App ID" nos documentos oficiais da Apple para mais informações.

Criar um identificador

  1. Visite Certificates, Identifiers & Profiles, então clique no botão "+" ao lado de "Identifier".
  2. Na página "Register a new identifier", escolha "Services IDs" e clique em "Continue".
  3. Preencha "Description" e "Identifier" (Ex.: Logto Test e io.logto.test), então clique em "Continue".
  4. Verifique as informações e clique em "Register".

Ativar o login com Apple para seu identificador

Clique no identificador que você acabou de criar. Marque "Sign in with Apple" na página de detalhes e clique em "Configure".

Ativar login com Apple

No modal que se abre, selecione o ID do aplicativo que você acabou de habilitar o login com Apple.

Digite o domínio da sua instância Logto sem protocolo e porta, por exemplo, your.logto.domain; em seguida, insira a "Return URL" (ou seja, URI de redirecionamento), que é a URL do Logto com /callback/${connector_id}, por exemplo, https://your.logto.domain/callback/apple-universal. Você pode obter o connector_id gerado aleatoriamente após criar o conector Apple no Admin Console.

Domínio e URL

Clique em "Next" e depois em "Done" para fechar o modal. Clique em "Continue" no canto superior direito, depois clique em "Save" para salvar sua configuração.

cuidado:

A Apple NÃO permite URLs de retorno com protocolo HTTP e domínio localhost.

Se você quiser testar localmente, precisará editar o arquivo /etc/hosts para mapear localhost para um domínio personalizado e configurar um ambiente HTTPS local. O mkcert pode ajudá-lo a configurar o HTTPS local.

Configurar escopo

Para obter o email do usuário da Apple, você precisa configurar o escopo para incluir email. Para obter tanto o email quanto o nome, você pode usar name email como escopo. Veja os documentos oficiais da Apple para mais informações.

nota:

O usuário pode optar por ocultar seu endereço de email do seu aplicativo. Nesse caso, você não poderá recuperar o endereço de email real. Um endereço de email como random@privaterelay.appleid.com será retornado em vez disso.

Armadilhas ao configurar escopo

Se você configurou seu aplicativo para solicitar os endereços de email dos usuários depois que eles já fizeram login com a Apple, não será possível recuperar os endereços de email desses usuários existentes, mesmo que eles façam login novamente usando o Apple ID. Para resolver isso, você precisa instruir seus usuários a visitarem a página de gerenciamento da conta Apple ID e remover seu aplicativo da seção "Sign in with Apple". Isso pode ser feito selecionando "Parar de usar o Apple Sign In" na página de detalhes do seu aplicativo.

Por exemplo, se seu aplicativo solicitar tanto o email quanto o nome dos usuários (escopo email name), a tela de consentimento que novos usuários verão durante o primeiro login deve ser semelhante a esta:

Tela de consentimento do Sign in with Apple

Veja a discussão de desenvolvedores aqui.

Testar o conector Apple

É isso. O conector Apple deve estar disponível tanto em aplicativos web quanto nativos. Não se esqueça de habilitar o conector social em Sign-up and sign-in.