Configurar login social com Apple
O conector oficial do Logto para login social com Apple.
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.
Introdução
Se você não conhece o conceito do conector ou não sabe como adicionar este conector à sua experiência de login, por favor, veja o tutorial do Logto.
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 Sign in with Apple para seu aplicativo
Mesmo que você queira implementar o Sign in with Apple apenas em um aplicativo web, ainda precisa 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 Certificates, Identifiers & Profiles.
Veja a seção "Enable an App ID" nos documentos oficiais da Apple para mais informações.
Criar um identificador
- Visite Certificates, Identifiers & Profiles, depois 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
), depois clique em "Continue". - Verifique as informações e clique em "Register".
Ativar o Sign in with 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 o Sign in with Apple.
Digite o domínio da sua instância Logto sem protocolo e porta, por exemplo, your.logto.domain
; depois insira a "Return URL" (ou seja, Redirect URI), 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.
A Apple NÃO permite Return URLs 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 os documentos oficiais da Apple para mais informações.
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 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 visitarem a página de gerenciamento de conta do Apple ID e remover seu aplicativo da seção "Sign in with Apple". Isso pode ser feito selecionando "Parar de usar 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 conector Apple
É isso. O conector Apple deve estar disponível tanto em aplicativos web quanto nativos. Não se esqueça de Habilitar conector social na experiência de login.