Introdução à API Admin Auth
A Identity Platform é criada numa infraestrutura melhorada que suporta a autenticação de utilizadores nas suas apps e serviços. Pode usar o SDK de administrador do Firebase para integrar os seus próprios servidores com a Identity Platform e gerir os seus utilizadores ou tokens de autenticação. Existem vários motivos pelos quais pode querer fazê-lo:
Gestão de utilizadores
Nem sempre é conveniente ter de visitar a Google Cloud consola (Google Cloud consola) para gerir os utilizadores da Identity Platform. A API de gestão de utilizadores de administrador oferece acesso programático a esses mesmos utilizadores. Permite-lhe até fazer coisas que aGoogle Cloud consola não permite, como obter os dados completos de um utilizador e alterar a respetiva palavra-passe, endereço de email ou número de telefone.
Autenticação personalizada
Pode integrar um sistema de utilizadores externo com a Identity Platform. Por exemplo, pode já ter uma base de dados de utilizadores pré-existente ou querer fazer a integração com um fornecedor de identidade de terceiros que a Identity Platform não suporta nativamente.
Para o fazer, pode criar tokens personalizados com reivindicações arbitrárias que identifiquem o utilizador. Estes tokens personalizados podem ser usados para iniciar sessão no serviço Identity Platform numa aplicação cliente e assumir a identidade descrita nas reivindicações do token. Esta identidade é usada quando acede a outros serviços da Identity Platform, como o Cloud Storage.
Validação de identidade
O Identity Platform é usado principalmente para identificar os utilizadores da sua app de modo a restringir o acesso a outros serviços, como o Cloud Storage. Também pode usar o serviço para identificar estes utilizadores no seu próprio servidor. Isto permite-lhe executar com segurança lógica do lado do servidor em nome dos utilizadores que iniciaram sessão com o Identity Platform.
Para tal, pode obter um token de ID de uma aplicação cliente com sessão iniciada no Identity Platform e incluir o token num pedido ao seu servidor. Em seguida, o seu servidor valida o token de ID e extrai as reivindicações que
identificam o utilizador (incluindo o respetivo uid
, o fornecedor de identidade com o qual iniciou sessão
etc.). Em seguida, estas informações de identidade podem ser usadas pelo seu servidor para realizar ações em nome do utilizador.
O SDK de administrador do Firebase fornece métodos para realizar as tarefas de autenticação acima, permitindo-lhe gerir os seus utilizadores, gerar tokens personalizados e validar tokens de ID.
Reivindicações de utilizadores personalizadas
Em alguns casos, pode querer implementar um controlo de acesso detalhado para os utilizadores que já iniciaram sessão com um dos fornecedores de autenticação do Identity Platform suportados, como email/palavra-passe, Google, Facebook, telemóvel, etc. Uma combinação de reivindicações de utilizadores personalizadas e regras de segurança da aplicação oferece esta capacidade. Por exemplo, um utilizador que iniciou sessão com o fornecedor de email e palavra-passe da Identity Platform pode ter o controlo de acesso definido através de reivindicações personalizadas.
Gestão de utilizadores
O SDK de administrador do Firebase fornece uma API para gerir os seus utilizadores da Identity Platform com privilégios elevados. A API de gestão de utilizadores do administrador permite-lhe obter, criar, atualizar e eliminar utilizadores de forma programática sem precisar das credenciais existentes de um utilizador e sem se preocupar com os limites de taxa do lado do cliente.
Faça a gestão dos utilizadoresCriação de tokens personalizados
A principal utilização da criação de tokens personalizados é permitir que os utilizadores se autentiquem num mecanismo de autenticação externo ou antigo. Pode ser um que controla, como o seu servidor LDAP, ou um fornecedor OAuth de terceiros que a Identity Platform não suporta nativamente, como o Instagram ou o LinkedIn.
O SDK Admin do Firebase tem um método incorporado para criar tokens personalizados. Também pode criar programaticamente tokens personalizados em qualquer idioma através de bibliotecas JWT de terceiros.
O seu servidor deve criar um token personalizado com um identificador exclusivo (uid
) e transmitir esse token a uma app cliente, que o vai usar para iniciar sessão no Identity Platform. Consulte o artigo
Crie tokens personalizados
para ver exemplos de código e mais detalhes sobre o processo de criação de tokens personalizados.
Validação de token de ID
Se a sua app cliente da Identity Platform comunicar com o servidor de back-end, pode ter de identificar o utilizador com sessão iniciada atualmente no seu servidor para poder executar lógica do lado do servidor em nome do utilizador. Pode fazê-lo de forma segura através de tokens de ID, que são criados pela Identity Platform quando um utilizador inicia sessão numa app da Identity Platform. Os tokens de ID estão em conformidade com a especificação OpenID Connect e contêm dados para identificar um utilizador, bem como outras informações relacionadas com o perfil e a autenticação. Pode enviar, validar e inspecionar estes tokens a partir dos seus próprios backends. Isto permite-lhe identificar de forma segura o utilizador com sessão iniciada atualmente e autorizá-lo a aceder aos recursos do seu próprio back-end.
O SDK Admin do Firebase tem um método incorporado para validar tokens de ID. Também pode validar tokens de ID de forma programática em qualquer idioma através de bibliotecas JWT de terceiros. Consulte o artigo Validar tokens de ID para ver mais detalhes e exemplos de código acerca do processo de validação de tokens de ID.
Reivindicações de utilizadores personalizadas
O SDK de administração do Firebase permite-lhe definir atributos personalizados em contas de utilizador. Com as reivindicações de utilizador personalizadas, pode conceder aos utilizadores diferentes níveis de acesso (funções), que são aplicados nas regras de segurança de uma aplicação.
Depois de as reivindicações personalizadas serem modificadas num utilizador através do SDK de administração do Firebase, são propagadas aos utilizadores autenticados no lado do cliente através dos respetivos tokens de ID. O token de ID é um mecanismo fidedigno para fornecer estas reivindicações personalizadas, e todo o acesso autenticado tem de validar o token de ID antes de processar o pedido associado.
Controle o acesso com reivindicações personalizadas