Configurar login social com Apple
O conector oficial do Logto para login social com Apple.
Neste guia, assumimos que você tem conhecimento básico sobre Conectores (Connectors) do Logto. Se não tiver, confira o guia Configurar conectores para começar.
Introdução
Se você não conhece o conceito de conector ou não sabe como adicionar este conector à sua experiência de login, 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
⚠️ Atenção
Mesmo se você quiser implementar o login com Apple apenas em um aplicativo web, ainda precisará ter um aplicativo existente que faça parte do ecossistema da AppStore (ou seja, ter um App ID válido).
Você pode fazer isso via Xcode -> Configurações do projeto -> Assinatura & Capacidades, ou visitar Certificados, Identificadores & Perfis.
Veja a seção "Enable an App ID" na documentação oficial da Apple para mais informações.
Criar um identificador
- Visite Certificados, Identificadores & Perfis, então clique no botão "+" ao lado de "Identifier".
- Na página "Register a new identifier", escolha "Services IDs" e clique em "Continue".
- Preencha "Description" e "Identifier" (por exemplo,
Logto Test
eio.logto.test
), então clique em "Continue". - 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".
No modal que se abre, selecione o App ID que você acabou de habilitar para login com Apple.
Digite o domínio da sua instância Logto sem protocolo e porta, por exemplo, your.logto.domain
; então 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.
Clique em "Next" e depois em "Done" para fechar o modal. Clique em "Continue" no canto superior direito e depois em "Save" para salvar sua configuração.
⚠️ Atenção
A Apple NÃO permite URLs de retorno com protocolo HTTP e domínio
localhost
.Se você quiser testar localmente, precisa 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 a documentação oficial 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
[email protected]
será retornado.
Armadilhas ao configurar o escopo
Se você configurou seu aplicativo para solicitar endereços de email dos usuários após eles já terem feito login com Apple, você não poderá 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 visitar a página de gerenciamento de conta Apple ID e remover seu aplicativo da seção "Sign in with Apple". Isso pode ser feito selecionando "Stop using 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 veem durante seu primeiro login deve ser semelhante a esta:
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 na experiência de login.