Se o aplicativo processa solicitações de usuários, recomendamos restringir o acesso apenas aos usuários permitidos. Os usuários geralmente não têm permissão de IAM no projeto do Google Cloud ou no serviço do Cloud Run.
Distinguimos dois tipos de usuários:
- Usuários finais: usuários do aplicativo que não que não necessariamente fazem parte da sua organização. Geralmente eles precisam registrar uma conta.
- Usuários internos: usuários que têm acesso completo ao seu aplicativo por um administrador da organização. Geralmente, eles fazem parte da organização.
Como autenticar usuários finais
Se você quiser autenticar usuários usando e-mail/senha, número de telefone, provedores de redes sociais como Google, Facebook ou GitHub ou um mecanismo de autenticação personalizado, use o Identity Platform. O uso do Firebase Authentication é parecido com o do Identity Platform.
Você precisa de um aplicativo público da Web ou para dispositivos móveis que processe o fluxo de login e faça chamadas de API autenticadas para um serviço do Cloud Run. É possível hospedar o aplicativo público da Web em um serviço público do Cloud Run.
Para ver um tutorial completo sobre como usar o Identity Platform para autenticação de usuários finais, consulte o tutorial Autenticação de usuários finais para o Cloud Run.
Adicione o código ao serviço do Cloud Run para verificar os tokens de ID.
Faça o seguinte no seu aplicativo da Web ou para dispositivos móveis:
- Usar a biblioteca de cliente do Firebase Auth apropriada para receber um token do código:
- Android: use o método
GetTokenResult().getToken()
. - iOS: use o método
User.getIDTokenResult(completion:)
. - Web: use o método
firebase.User.getIdToken()
.
- Android: use o método
- Inclua o token de ID em um
cabeçalho
Authorization: Bearer ID_TOKEN
na solicitação para o serviço.
- Usar a biblioteca de cliente do Firebase Auth apropriada para receber um token do código:
Você pode usar qualquer um dos seguintes métodos para acessar as informações do perfil do usuário:
- Use o SDK Admin do Firebase para fazer uma solicitação de rede e recuperar dados do usuário.
- Use uma biblioteca de cliente das APIs do Google para recuperar dados do usuário usando o método mais adequado para o ambiente de execução escolhido.
Para instruções completas de um aplicativo usando essa técnica de autenticação, siga o tutorial de autenticação do usuário final para o Cloud Run.
Como autenticar usuários internos
Para autenticação de usuário interno, você pode usar o Identity-Aware Proxy.
Para configurar o Identity-Aware Proxy para um serviço do Cloud Run atual, consulte a documentação sobre como ativar o Identity-Aware Proxy para o Cloud Run.
Para instruções sobre como autenticar usuários ou contas de serviço em um serviço do Cloud Run protegido pelo Identity-Aware Proxy usando o OAuth 2.0, consulte a documentação da Autenticação programática.