Autenticação do Login com a Apple
Escrito por Marie Pireddu na
Como apresentado na WWDC 2019, com o lançamento do novo sistema operacional para iPhone, iOS 13, a Apple introduziu uma nova maneira de se inscrever para contas em aplicativos e sites, chamada “Login com a Apple ".
Até abril de 2020, todos os aplicativos disponíveis na App Store da Apple devem integrar o Login com a Apple.
Até abril de 2020, todos os aplicativos disponíveis na App Store da Apple devem integrar o Login com a Apple.
O que é o Login com a Apple?
O Login com a Apple é um serviço de "logon único" (SSO) destinado a funcionar nos mesmos locais em que você provavelmente já viu botões para fazer login usando sua conta do Facebook ou do Google. Em vez de criar uma nova conta para um aplicativo ou site com seu endereço de e-mail e senha, você faz o login usando o seu Apple ID.
Graças ao botão Login com a Apple no seu aplicativo, as pessoas podem fazer login ou se inscrever com apenas um toque usando o Apple ID e se autenticar facilmente com o Face ID ou o Touch ID. Não há mais formulários para preencher ou senha para criar e lembrar!
O Login com a Apple funciona em todos os dispositivos Apple - dispositivos iOS/iPadOS (iPhone, iPad e iPod touch), Mac, Apple TV e Apple Watch.
A Apple também oferece uma solução para dispositivos Android e aplicativos Web (com Login com Apple JS ).
Do ponto de vista da segurança, a Apple oferece uma ótima opção para ambos os usuários e desenvolvedores, com mais privacidade.
Ele também vem com recursos que beneficiam os desenvolvedores de aplicativos iOS - como suporte integrado à autenticação de dois fatores, detecção antifraude e a capacidade de oferecer um acesso contínuo e único toque ao aplicativo.
Os usuários se beneficiam da mesma inscrição e login rápidos que com outros serviços (Facebook, Twitter etc.), mas com o conhecimento de que os aplicativos não compartilham suas informações, pois podem optar por compartilhar ou não seus emails com o desenvolvedor do aplicativo.
Se os usuários decidirem não compartilhar seus e-mails reais, a Apple gerará um endereço de e-mail aleatório - mas real e verificado - para o aplicativo em questão, e encaminhará os e-mails que o aplicativo deseja enviar para esse endereço. O novo endereço de e-mail gerado será fornecido neste formato: fc452bd5ea@privaterelay.appleid.com. O usuário pode escolher desativar esse endereço de e-mail do aplicativo a qualquer momento, se começar a receber spam, por exemplo.
Graças ao botão Login com a Apple no seu aplicativo, as pessoas podem fazer login ou se inscrever com apenas um toque usando o Apple ID e se autenticar facilmente com o Face ID ou o Touch ID. Não há mais formulários para preencher ou senha para criar e lembrar!
O Login com a Apple funciona em todos os dispositivos Apple - dispositivos iOS/iPadOS (iPhone, iPad e iPod touch), Mac, Apple TV e Apple Watch.
A Apple também oferece uma solução para dispositivos Android e aplicativos Web (com Login com Apple JS ).
Do ponto de vista da segurança, a Apple oferece uma ótima opção para ambos os usuários e desenvolvedores, com mais privacidade.
Ele também vem com recursos que beneficiam os desenvolvedores de aplicativos iOS - como suporte integrado à autenticação de dois fatores, detecção antifraude e a capacidade de oferecer um acesso contínuo e único toque ao aplicativo.
Os usuários se beneficiam da mesma inscrição e login rápidos que com outros serviços (Facebook, Twitter etc.), mas com o conhecimento de que os aplicativos não compartilham suas informações, pois podem optar por compartilhar ou não seus emails com o desenvolvedor do aplicativo.
Se os usuários decidirem não compartilhar seus e-mails reais, a Apple gerará um endereço de e-mail aleatório - mas real e verificado - para o aplicativo em questão, e encaminhará os e-mails que o aplicativo deseja enviar para esse endereço. O novo endereço de e-mail gerado será fornecido neste formato: fc452bd5ea@privaterelay.appleid.com. O usuário pode escolher desativar esse endereço de e-mail do aplicativo a qualquer momento, se começar a receber spam, por exemplo.
Quais são os requerimentos para integrar o Login com a Apple
As diretrizes da Apple afirmam que os aplicativos que usam um serviço de login social ou de terceiros (como o Login do Facebook e/ou o Login do Twitter) para autenticar a conta principal do usuário com o aplicativo também devem oferecer o Login com a Apple como uma opção equivalente.
O botão Login com a Apple deve estar destacado e na parte superior de uma pilha de outros botões de entrada de terceiros.
O botão Login com a Apple deve estar destacado e na parte superior de uma pilha de outros botões de entrada de terceiros.
Como integrar Login com a Apple no seu aplicativo
Você primeiro precisa preparar seu aplicativo adicionando o recurso ao seu aplicativo. Isso pode ser feito editando-o no portal do desenvolvedor da Apple ou no Xcode.
Feito isso, adicione o botão Login com a Apple: ASAuthorizationAppleIDButton (o botão está disponível em 2 formatos: Login com a Apple ou Continue com a Apple.) e adicione uma ação. Você pode configurar o botão em preto ou branco para melhor se adaptar ao plano de fundo do seu aplicativo.
Em seguida, é hora de configurar uma solicitação e executar a autorização. Você precisa obter um provedor de autorização para criar uma solicitação "criar um login" e depois definir seu escopo de ação. Para o escopo, duas opções estão disponíveis no momento: email e nome completo.
Opcionalmente, se o seu aplicativo exigir isso para a melhor experiência do usuário, você poderá definir o requestedScopes como nome e email completos. Você só deve solicitar essas informações se forem realmente necessárias para o seu aplicativo e errar no lado da quantidade mínima de informações. Depois que a solicitação estiver configurada, inicialize o ASAuthorizationController, configure os delegados para obter os resultados novamente no seu aplicativo.
Quando o usuário executa a solicitação e fornece as informações solicitadas pelo escopo, o ASAuthorizationController retornará com a autorização se o usuário tiver autorizado com êxito o aplicativo a fazer login com a Apple.
Feito isso, adicione o botão Login com a Apple: ASAuthorizationAppleIDButton (o botão está disponível em 2 formatos: Login com a Apple ou Continue com a Apple.) e adicione uma ação. Você pode configurar o botão em preto ou branco para melhor se adaptar ao plano de fundo do seu aplicativo.
Em seguida, é hora de configurar uma solicitação e executar a autorização. Você precisa obter um provedor de autorização para criar uma solicitação "criar um login" e depois definir seu escopo de ação. Para o escopo, duas opções estão disponíveis no momento: email e nome completo.
Opcionalmente, se o seu aplicativo exigir isso para a melhor experiência do usuário, você poderá definir o requestedScopes como nome e email completos. Você só deve solicitar essas informações se forem realmente necessárias para o seu aplicativo e errar no lado da quantidade mínima de informações. Depois que a solicitação estiver configurada, inicialize o ASAuthorizationController, configure os delegados para obter os resultados novamente no seu aplicativo.
Quando o usuário executa a solicitação e fornece as informações solicitadas pelo escopo, o ASAuthorizationController retornará com a autorização se o usuário tiver autorizado com êxito o aplicativo a fazer login com a Apple.
Como configurar o Login com a Apple no seu aplicativo GoodBarber
Para o seu aplicativo iOS:
Existem três requisitos para adicionar "Login com a Apple" aos seus aplicativos GoodBarber:
- É obrigatório já ter configurado a autenticação do Facebook ou Twitter no seu aplicativo.
- É obrigatório ter sua própria conta de desenvolvedor da Apple
- Esse recurso está disponível apenas para planos Premium da GoodBarber .
Se for um primeiro envio para a App Store, nossa equipe adicionará o Login com a Apple ao seu aplicativo durante o processo de envio.
Se o seu aplicativo já estiver publicado na App Store, solicite uma atualização do seu aplicativo para iOS. Nossa equipe adicionará o Login com a Apple ao seu aplicativo durante o processo de atualização.
Em dispositivos usando o iOS 13, o Apple SDK permite uma experiência de login nativa, usando o Face ID, por exemplo.
Para dispositivos que usam o iOS 12 e versões anteriores, os usuários serão redirecionados para o Safari com um URL personalizado começando com "https://appleid.apple.com/auth/authorize". Essa URL contém os elementos de personalização de parâmetros como client_id, a URL de redirecionamento ou o escopo solicitado.
Lá, os usuários poderão fazer login digitando seu Apple ID e senha.
No PWA, usamos o script JS da Apple para exibir o botão e processar as solicitações. A experiência é do tipo clássico: login (Apple ID) + senha.
No Android, a operação é muito semelhante ao iOS 12, exceto que o usuário nunca sai do aplicativo. A página da web da Apple é exibida no aplicativo.
Para o seu Android e PWA:
Para as versões Android e PWA do seu aplicativo, depois de definir sua autenticação no Facebook ou no Twitter, e o Login com a Apple está definido para o seu aplicativo iOS:
Existem três requisitos para adicionar "Login com a Apple" aos seus aplicativos GoodBarber:
- É obrigatório já ter configurado a autenticação do Facebook ou Twitter no seu aplicativo.
- É obrigatório ter sua própria conta de desenvolvedor da Apple
- Esse recurso está disponível apenas para planos Premium da GoodBarber .
Se for um primeiro envio para a App Store, nossa equipe adicionará o Login com a Apple ao seu aplicativo durante o processo de envio.
Se o seu aplicativo já estiver publicado na App Store, solicite uma atualização do seu aplicativo para iOS. Nossa equipe adicionará o Login com a Apple ao seu aplicativo durante o processo de atualização.
Em dispositivos usando o iOS 13, o Apple SDK permite uma experiência de login nativa, usando o Face ID, por exemplo.
Para dispositivos que usam o iOS 12 e versões anteriores, os usuários serão redirecionados para o Safari com um URL personalizado começando com "https://appleid.apple.com/auth/authorize". Essa URL contém os elementos de personalização de parâmetros como client_id, a URL de redirecionamento ou o escopo solicitado.
Lá, os usuários poderão fazer login digitando seu Apple ID e senha.
No PWA, usamos o script JS da Apple para exibir o botão e processar as solicitações. A experiência é do tipo clássico: login (Apple ID) + senha.
No Android, a operação é muito semelhante ao iOS 12, exceto que o usuário nunca sai do aplicativo. A página da web da Apple é exibida no aplicativo.
Para o seu Android e PWA:
Para as versões Android e PWA do seu aplicativo, depois de definir sua autenticação no Facebook ou no Twitter, e o Login com a Apple está definido para o seu aplicativo iOS:
- Para Android, gere e envie seu aplicativo para a Google Play Store (1º envio) ou Atualize seu aplicativo Android já publicado na Google Play Store
- Construa ou reconstrua seu PWA.
Práticas recomendadas para usar o Login com Apple
Conforme recomendado pela Apple, peça às pessoas que façam login apenas se elas puderem se beneficiar de um valor agregado (recursos adicionais, personalização).
Certifique-se de oferecer Login com a Apple para todas as versões do seu aplicativo, em todas as plataformas, incluindo plataformas que não são da Apple e a web.
Adie o login o máximo que for possível. As pessoas geralmente abandonam os aplicativos quando são forçadas a fazer login antes de fazer qualquer coisa útil. Dê a eles a chance de se familiarizarem com seu aplicativo antes de se comprometerem. Por exemplo, um aplicativo de transmissão ao vivo pode permitir que as pessoas explorem o conteúdo disponível antes de fazer login para transmitir algo.
Certifique-se de oferecer Login com a Apple para todas as versões do seu aplicativo, em todas as plataformas, incluindo plataformas que não são da Apple e a web.
Adie o login o máximo que for possível. As pessoas geralmente abandonam os aplicativos quando são forçadas a fazer login antes de fazer qualquer coisa útil. Dê a eles a chance de se familiarizarem com seu aplicativo antes de se comprometerem. Por exemplo, um aplicativo de transmissão ao vivo pode permitir que as pessoas explorem o conteúdo disponível antes de fazer login para transmitir algo.