Login com a Apple usando Flutter e Firebase
Neste tutorial, veremos como adicionar o Apple Sign a um aplicativo utilizando Flutter e o Firebase.
Este tutorial assume que você seja já seja um desenvolvedor Apple Developer e já tenha configurado o Firebase no seu aplicativo.
Desde de abril de 2020, todos os aplicativos iOS nativos que oferecem métodos de autenticação social (Google, Facebook, etc.) DEVEM incluir também o Apple Sign In como uma opção. Veja as orientações oficiais da Apple.
Aqui na Luna nós já sofremos com isso quando fomos subir nosso app na Apple Store 🤭🤣
Pré-requisitos
- Xcode 11 instalado
- Uma conta de desenvolvedor da Apple
- Um dispositivo ou simulador iOS 13.x, conectado com um ID Apple
Setup
Instale as dependências
Instale o pacote apple_sign_in no seu projeto (e é claro, firebase_auth).
dependencies:
firebase_auth: ^0.15.3
apple_sign_in: ^0.1.0
Adicione a capacidade no Xcode
Adicione o recurso Sign In with Apple no Xcode. Certifique-se de incluí-lo em todos os seus tipos de construção.
Habilite no Firebase
Habilite o método de autenticação da Apple no Firebase. Não se preocupe com o fluxo do OAuth, ele é necessário apenas para aplicativos da web.
Vamos para o código
AuthService
O serviço de autenticação fornece um método signInWithApple que irá abrir a opção do usuário se autenticar com seu ID Apple. Depois que o usuário entra na Apple, o token é usado para criar um AuthCredential para fazer login como um FirebaseUser.
Botando em prática
Só devemos mostrar o botão Fazer login com a Apple quando estiver disponível no dispositivo. Use um FutureBuilder para verificar a disponibilidade e, em seguida, mostre o botão já criado no pacote apple_sign_in
.
Com apenas esses pequenos passos você já consegue ter seu Login com Apple funcionando no seu aplicativo!
Gostou do conteúdo?
Siga a Luna no Medium. E não se esqueça de deixar alguns aplausos 👏🏽Qualquer dúvida ou sugestão é só deixar nos comentários!