Si se especifica un identificador de correo electrónico, comprueba y muestra si hay alguna cuenta de usuario registrada con el correo electrónico. Si hay una cuenta registrada, recupera todos los proveedores asociados con el correo electrónico de la cuenta.
Si se especifica el ID del proveedor de un proveedor de identidad (IdP), se crea un URI de autorización para el IdP. Se puede dirigir al usuario a este URI para que acceda con el IdP.
Se requiere una clave de API en la solicitud para identificar el proyecto de Google Cloud.
Solicitud HTTP
POST https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación 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 |
Es el identificador de correo electrónico de la cuenta de usuario para la que se recuperarán los proveedores asociados. Se debe establecer al menos uno de los campos La longitud de la dirección de correo electrónico debe ser inferior a 256 caracteres y debe tener el formato |
continueUri |
Es una URL válida a la que el IdP redireccionará al usuario. La URL no puede contener fragmentos ni el parámetro de consulta |
openidRealm |
|
providerId |
El ID del proveedor del IdP con el que el usuario accederá Debe ser un ID de proveedor habilitado para el acceso, que puede ser de la lista de IdPs compatibles predeterminados o del formato |
oauthConsumerKey |
|
oauthScope |
Alcances de OAuth 2.0 adicionales delimitados por espacios que especifican el alcance de la solicitud de autenticación con el IdP. Se usa para los proveedores de identidades de OAuth 2.0. En el caso del proveedor de Google, se usará el flujo de código de autorización si se configura este campo. |
context |
Es una cadena opaca que se usa para mantener la información contextual entre la solicitud de autenticación y la devolución de llamada del IdP. |
otaApp |
|
appId |
|
hostedDomain |
Se usa para el proveedor de Google. El dominio alojado de G Suite del usuario para restringir el acceso de los usuarios a ese dominio |
sessionId |
Un ID de sesión que se puede verificar en accounts.signInWithIdp para evitar ataques de fijación de sesión. Si no se incluye, se generará una cadena aleatoria y se mostrará como el ID de sesión. |
authFlowType |
Se usa para el proveedor de Google. Es el tipo de flujo de autenticación que se usará. Si está presente, debe ser |
customParameter |
Son parámetros de consulta personalizados adicionales que se agregarán al URI de autorización. Los siguientes parámetros están reservados y no se pueden agregar: En el caso del proveedor de Microsoft, el usuario de Azure AD al que se accede se puede especificar en el parámetro personalizado Un objeto que contiene una lista de pares |
tenantId |
El ID del usuario de Identity Platform para crear un URI de autorización o buscar un identificador de correo electrónico Si no se establece, la operación se realizará en la instancia predeterminada de Identity Platform en el proyecto. |
Cuerpo de la respuesta
Mensaje de respuesta para accounts.createAuthUri.
Si se ejecuta correctamente, el cuerpo de la respuesta contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "kind": string, "authUri": string, "allProviders": [ string ], "registered": boolean, "providerId": string, "forExistingProvider": boolean, "captchaRequired": boolean, "sessionId": string, "signinMethods": [ string ] } |
Campos | |
---|---|
kind |
|
authUri |
El URI de autorización para el proveedor solicitado. Solo está presente cuando se establece un ID de proveedor en la solicitud. |
allProviders[] |
|
registered |
Indica si el identificador de correo electrónico representa una cuenta existente. Solo está presente cuando se establece un identificador de correo electrónico en la solicitud. |
providerId |
El ID del proveedor de la solicitud, si se proporciona |
forExistingProvider |
Indica si el usuario accedió anteriormente con el ID del proveedor en la solicitud. Solo está presente cuando se establece un identificador de correo electrónico registrado en la solicitud. |
captchaRequired |
Si se necesita un CAPTCHA porque el usuario realizó demasiados intentos de acceso fallidos Solo está presente cuando se establece un identificador de correo electrónico registrado en la solicitud. |
sessionId |
El ID de sesión de la solicitud o una cadena aleatoria generada por accounts.createAuthUri si no está presente. Se usa para evitar ataques de fijación de sesión. |
signinMethods[] |
La lista de métodos de acceso que el usuario usó anteriormente. Cada elemento es uno de |
Permisos de autorización
Se necesita uno de los siguientes permisos de OAuth:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
Para obtener más información, consulta Authentication Overview.