Se um identificador de e-mail for especificado, ele vai verificar e retornar se alguma conta de usuário está registrada com o e-mail. Se houver uma conta registrada, extrai todos os provedores associados ao e-mail da conta.
Se o ID do provedor de um provedor de identidade (IdP) for especificado, crie um URI de autorização para o IdP. O usuário pode ser direcionado a esse URI para fazer login com o IdP.
Uma chave de API é necessária na solicitação para identificar o projeto do Google Cloud.
Solicitação HTTP
POST https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri
O URL usa a sintaxe de transcodificação gRPC.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "identifier": string, "continueUri": string, "openidRealm": string, "providerId": string, "oauthConsumerKey": string, "oauthScope": string, "context": string, "otaApp": string, "appId": string, "hostedDomain": string, "sessionId": string, "authFlowType": string, "customParameter": { string: string, ... }, "tenantId": string } |
Campos | |
---|---|
identifier |
O identificador de e-mail da conta de usuário para buscar os provedores associados. Pelo menos um dos campos O endereço de e-mail precisa ter menos de 256 caracteres e estar no formato |
continueUri |
Um URL válido para o IdP redirecionar o usuário. O URL não pode conter fragmentos ou o parâmetro de consulta |
openidRealm |
|
providerId |
O ID do provedor do provedor de identidade com que o usuário vai fazer login. Esse é um ID de provedor ativado para login, que pode ser da lista de IdPs compatíveis padrão ou do formato |
oauthConsumerKey |
|
oauthScope |
Outros escopos do OAuth 2.0 separados por espaços que especificam o escopo da solicitação de autenticação com o IdP. Usado para provedores de identidade do OAuth 2.0. Para o provedor do Google, o fluxo do código de autorização será usado se esse campo estiver definido. |
context |
Uma string opaca usada para manter informações contextuais entre a solicitação de autenticação e o callback do IdP. |
otaApp |
|
appId |
|
hostedDomain |
Usado para o provedor do Google. O domínio hospedado do G Suite do usuário para restringir o login a usuários nesse domínio. |
sessionId |
Um ID de sessão que pode ser verificado em accounts.signInWithIdp para evitar ataques de fixação de sessão. Se não estiver presente, uma string aleatória será gerada e retornada como o ID da sessão. |
authFlowType |
Usado para o provedor do Google. O tipo de fluxo de autenticação a ser usado. Se presente, deve ser |
customParameter |
Outros parâmetros de consulta personalizados a serem adicionados ao URI de autorização. Os parâmetros a seguir são reservados e não podem ser adicionados: Para o provedor da Microsoft, o locatário do Azure AD para fazer login pode ser especificado no parâmetro personalizado Um objeto com uma lista de pares |
tenantId |
O ID do locatário do Identity Platform para criar um URI de autorização ou pesquisar um identificador de e-mail. Se não for definido, a operação será realizada na instância padrão do Identity Platform no projeto. |
Corpo da resposta
Mensagem de resposta para accounts.createAuthUri.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{ "kind": string, "authUri": string, "allProviders": [ string ], "registered": boolean, "providerId": string, "forExistingProvider": boolean, "captchaRequired": boolean, "sessionId": string, "signinMethods": [ string ] } |
Campos | |
---|---|
kind |
|
authUri |
O URI de autorização para o provedor solicitado. Presente apenas quando um ID do provedor estiver definido na solicitação. |
allProviders[] |
|
registered |
Se o identificador de e-mail representa uma conta. Presente apenas quando um identificador de e-mail é definido na solicitação. |
providerId |
O ID do provedor da solicitação, se fornecido. |
forExistingProvider |
Se o usuário já fez login com o ID do provedor na solicitação. Presente apenas quando um identificador de e-mail registrado é definido na solicitação. |
captchaRequired |
Se um CAPTCHA é necessário porque o usuário fez muitas tentativas de login sem sucesso. Presente apenas quando um identificador de e-mail registrado é definido na solicitação. |
sessionId |
O ID da sessão da solicitação ou uma string aleatória gerada por accounts.createAuthUri, se ausente. Ele é usado para evitar ataques de fixação de sessão. |
signinMethods[] |
A lista de métodos de login que o usuário usou anteriormente. Cada elemento é |
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
Para mais informações, consulte Authentication Overview.