Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/ /

Autenticação do Google

Nesta página

  • Visão geral
  • Configurar um projeto no console da API do Google
  • Criar um projeto no console da API do Google
  • Gerar credenciais de cliente OAuth
  • Configurar o fornecedor de autenticação do Google
  • Configurar no App Services
  • Exemplos

O provedor de autenticação do Google permite que os usuários conectem-se com sua conta do Google existente por meio do Google Sign-In. Quando um usuário faz login, o Google fornece ao Atlas App Services um OAuth 2.0 token de acesso para o usuário. O App Services usa o token para identificar o usuário e acessar os dados aprovados das APIs do Google em seu nome.

O diagrama a seguir mostra o fluxo lógico OAuth:

Diagrama de fluxo OAuth

Você deve configurar um projeto no Console da API do Google antes de configurar a Autenticação do Google nos Serviços de aplicativos. Siga as etapas específicas do SDK para configurar a autenticação do Google no Console da API do Google.

O provedor de autenticação do Google requer um projeto no Console da API do Google para gerenciar a autenticação e as permissões de usuário. As etapas a seguir percorrem a criação do projeto, a geração de credenciais OAuth e a configuração do provedor para se conectar ao projeto.

1

Siga o aba oficial do Google para criar um novo projeto GCP.

2

Observação

Para aplicativos de cliente iOS, você precisa criar um ID de cliente OAuth da Web e um ID de cliente OAuth do iOS. O primeiro é usado pelo App Services, enquanto o segundo será usado pela própria aplicação.

Consulte a guia Web desta seção para obter instruções sobre como criar o ID do cliente do aplicação web para o App Services.

Siga o guia de suporte do Google sobre como configurar o OAuth 2.0 para seu projeto.

Use os valores a seguir ao configurar seu aplicativo iOS Client ID:

Application Type
iOS
Name
O nome que você deseja associar a este Client ID.
Bundle ID
O ID do pacote do seu aplicativo iOS. Você pode encontrar esse valor no XCode na aba General do destino primary da aplicação.

Use os seguintes valores ao configurar seu aplicativo Android Client ID:

Application Type
Android
Name
O nome que você deseja associar a este Client ID.
Signing-certificate Fingerprint
A impressão digital SHA-1 do certificado de assinatura do seu aplicativo. Consulte Autenticando seu cliente para obter instruções sobre como gerar esse valor.

Você precisará criar um aplicação da web Client ID e fornecer vários valores relacionados ao App Services.

Para Authorized JavaScript Origins, insira a seguinte URL:

https://services.cloud.mongodb.com

Para Authorized Redirect URIs, insira o URL de chamada de resposta de chamada de autenticação do App Services que corresponde à região de sistema do seu aplicação. A tabela a seguir lista o URL de chamada de resposta de chamada para cada região:

Região
URL de retorno de chamada de autenticação de App Services
Global
https://services.cloud.mongodb.com/api/client/v2.0/auth/callback
Virginia
(us-east-1)
https://us-east-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Oregon
(us-west-2)
https://us-west-2.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Ireland
(eu-west-1)
https://eu-west-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Frankfurt
(eu-central-1)
https://eu-central-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Mumbai
(ap-south-1)
https://ap-south-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Singapore
(ap-southeast-1)
https://ap-southeast-1.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
Sydney
(ap-southeast-2)
https://ap-southeast-2.aws.services.cloud.mongodb.com/api/client/v2.0/auth/callback
3

Para conectar seu projeto do GCP ao App Services, adicione o OAuth 2.0 Client ID e Client Secret que você gerou na etapa anterior da configuração do seu provedor de autenticação.

Observação

Adicione as credenciais do aplicativo da web à configuração do fornecedor. Se você adicionar as credenciais do iOS, a autenticação do Google falhará.

Você pode habilitar e configurar o fornecedor de autenticação do Google na UI do App Services selecionando Google na página Authentication.

Para habilitar e configurar o provedor de autenticação do Google com a App Services CLI, defina um objeto de configuração para ele no /auth/providers.json.

As configurações do provedor do Google têm o seguinte formato:

/auth/providers.json
{
"oauth2-google": {
"name": "oauth2-google",
"type": "oauth2-google",
"disabled": <boolean>,
"config": {
"clientId": <string>,
"openId": <boolean>
},
"secret_config": {
"clientSecret": <string>
},
"metadata_fields": [<document>, ...],
"redirect_uris": [<string>, ...],
"domain_restrictions": [<string>, ...]
}
}

O fornecedor de autenticação do Google tem as seguintes opções de configuração:

Campo
Descrição
Client ID
config.clientId

Obrigatório. Um OAuth 2.0 Client ID para seu projeto no Console da API do Google.

Consulte Configurar um projeto no console de APIs do Google para obter informações sobre como configurar as credenciais do OAuth para seu projeto do GCP.

Client Secret
secret_config.clientSecret

Obrigatório. O nome de um Secret que armazena um OAuth 2.0 Client Secret para seu projeto a partir do Console da API do Google.

Consulte Configurar um projeto no console de APIs do Google para obter informações sobre como configurar as credenciais do OAuth para seu projeto do GCP.

Metadata Fields
metadata_fields

Opcional. Uma lista de campos descrevendo o usuário autenticado que seu aplicativo solicitará da API do Google Identity.

Todos os campos de metadados são omitidos por padrão e podem ser exigidos campo por campo. Os usuários têm de conceder explicitamente à sua aplicação permissão para acessar cada campo obrigatório. Se um campo de metadados for obrigatório e existir para um usuário específico, ele será incluído em seu objeto de usuário.

Para exigir um campo de metadados de um arquivo de configuração de importação/exportação, adicione uma entrada para o campo à array metadata_fields. Cada entrada deve ser um documento do seguinte formato:

{ name: "<metadata field name>", required: "<boolean>" }
Redirect URIs
redirect_uris

Necessário para aplicações web. Uma lista de URLs de redirecionamento permitidas.

Depois que um usuário concluir o processo de autenticação no Google, o App Services o redirecionará para um URI especificado ou, se não houver nenhum URI especificado, a URL em que ele iniciou a solicitação de autenticação. O App Services redirecionará apenas um usuário para um URI que corresponde exatamente a uma entrada nesta lista, incluindo o protocolo e eventuais barras.

Domain Restrictions
domain_restrictions

Opcional. Uma lista de domínios aprovados para contas de usuário.

Se especificado, o fornecedor verificará o domínio do endereço de e-mail primary de um usuário no Google e só permitirá a autenticação se o domínio corresponder a uma entrada nessa lista.

Por exemplo, se example1.com e example2.com estiverem listados, um usuário do Google cujo e-mail principal é joe.mango@example1.com teria permissão para fazer login, enquanto um usuário cujo e-mail principal é joe.mango@example3.com não teria permissão para fazer login.

Observação

Se você especificou quaisquer restrições de domínio, você também deverá exigir o campo de endereço de e-mail na configuração Metadata Fields.

OpenID Connect
config.openId

Opcional. Padrão false.

Se true, o provedor utiliza o OpenID Connect para autenticar usuários.

Importante

O suporte do OpenID Connect varia de acordo com o SDK

Consulte a documentação específica do SDK sobre suporte para OpenID Connect. Nem todas as implementações de SDK de autenticação do Google aceitam OpenID Connect, mas outras sim.

Observação

O OpenID Connect não suporta campos de metadados

O Google suporta OpenID como parte de sua implementação OAuth 2.0, mas não fornece acesso a escopos restritos para autenticação OpenID. Isso significa que o App Services não pode acessar campos de metadados para usuários autenticados com OpenID Connect.

Para exemplos de código que demonstram como registrar e se conectar usando a autenticação do Google, consulte a documentação para os SDKs do Realm:

Voltar

Facebook