Method: accounts.createAuthUri

Si un identifiant d'adresse e-mail est spécifié, vérifie si un compte utilisateur est associé à l'adresse e-mail et renvoie la réponse. Si un compte est enregistré, récupère tous les fournisseurs associés à l'adresse e-mail du compte.

Si l'ID du fournisseur d'un fournisseur d'identité (IdP) est spécifié, crée un URI d'autorisation pour l'IdP. L'utilisateur peut être redirigé vers cet URI pour se connecter avec le fournisseur d'identité.

Une clé API est requise dans la requête pour identifier le projet Google Cloud.

Requête HTTP

POST https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation 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
}
Champs
identifier

string

Identifiant de l'adresse e-mail du compte utilisateur pour lequel récupérer les fournisseurs associés. Au moins l'un des champs identifier et providerId doit être défini.

L'adresse e-mail doit comporter moins de 256 caractères et respecter le format name@domain.tld. L'adresse e-mail doit également correspondre à la production d'addr-spec RFC 822.

continueUri

string

URL valide vers laquelle le fournisseur d'identité doit rediriger l'utilisateur. L'URL ne doit pas contenir de fragments ni le paramètre de requête state réservé.

openidRealm
(deprecated)

string

providerId

string

ID du fournisseur de l'IDP avec lequel l'utilisateur doit se connecter. Il doit s'agir d'un ID de fournisseur activé pour la connexion, qui figure dans la liste des IDP compatibles par défaut ou qui se présente au format oidc.* ou saml.*. Exemples : google.com, facebook.com, oidc.testapp et saml.testapp. Au moins l'un des champs identifier et providerId doit être défini.

oauthConsumerKey
(deprecated)

string

oauthScope

string

Champs d'application OAuth 2.0 supplémentaires séparés par des espaces spécifiant le champ d'application de la requête d'authentification avec l'IDP. Utilisé pour les IdP OAuth 2.0.

Pour le fournisseur Google, le flux avec code d'autorisation sera utilisé si ce champ est défini.

context

string

Chaîne opaque utilisée pour conserver des informations contextuelles entre la requête d'authentification et le rappel de l'IDP.

otaApp
(deprecated)

string

appId
(deprecated)

string

hostedDomain

string

Utilisé pour le fournisseur Google. Domaine hébergé G Suite de l'utilisateur afin de limiter la connexion aux utilisateurs de ce domaine.

sessionId

string

ID de session pouvant être vérifié dans accounts.signInWithIdp pour éviter les attaques de fixation de session. Si cet argument est absent, une chaîne aléatoire est générée et renvoyée en tant qu'ID de session.

authFlowType

string

Utilisé pour le fournisseur Google. Type du flux d'authentification à utiliser. S'il est présent, il doit être défini sur CODE_FLOW pour spécifier le flux avec code d'autorisation. Sinon, le flux de jeton d'identité par défaut sera utilisé.

customParameter

map (key: string, value: string)

Paramètres de requête personnalisés supplémentaires à ajouter à l'URI d'autorisation. Les paramètres suivants sont réservés et ne peuvent pas être ajoutés: clientId, responseType, scope, redirectUri et state.

Pour le fournisseur Microsoft, le locataire Azure AD auquel vous souhaitez vous connecter peut être spécifié dans le paramètre personnalisé tenant.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tenantId

string

ID du locataire Identity Platform pour lequel créer un URI d'autorisation ou rechercher un identifiant d'adresse e-mail. Si ce champ n'est pas défini, l'opération sera effectuée dans l'instance Identity Platform par défaut du projet.

Corps de la réponse

Message de réponse pour accounts.createAuthUri.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "kind": string,
  "authUri": string,
  "allProviders": [
    string
  ],
  "registered": boolean,
  "providerId": string,
  "forExistingProvider": boolean,
  "captchaRequired": boolean,
  "sessionId": string,
  "signinMethods": [
    string
  ]
}
Champs
kind
(deprecated)

string

authUri

string

URI d'autorisation du fournisseur demandé. Présent uniquement lorsqu'un ID de fournisseur est défini dans la requête.

allProviders[]
(deprecated)

string

registered

boolean

Indique si l'identifiant de l'adresse e-mail représente un compte existant. Présent uniquement lorsqu'un identifiant d'adresse e-mail est défini dans la requête.

providerId

string

ID du fournisseur de la requête, le cas échéant.

forExistingProvider

boolean

Indique si l'utilisateur s'est déjà connecté avec l'ID du fournisseur indiqué dans la requête. Présent uniquement lorsqu'un identifiant d'adresse e-mail enregistré est défini dans la requête.

captchaRequired

boolean

Indique si un test CAPTCHA est nécessaire en raison d'un trop grand nombre de tentatives de connexion infructueuses de la part de l'utilisateur. Présent uniquement lorsqu'un identifiant d'adresse e-mail enregistré est défini dans la requête.

sessionId

string

L'ID de session de la requête ou une chaîne aléatoire générée par accounts.createAuthUri si elle est absente. Il permet d'éviter les attaques par fixation de session.

signinMethods[]

string

Liste des méthodes de connexion que l'utilisateur a déjà utilisées. Chaque élément est l'une des valeurs suivantes : password, emailLink ou l'ID du fournisseur d'un IdP. Présent uniquement lorsqu'un identifiant d'adresse e-mail enregistré est défini dans la requête. Si la protection contre l'énumération des adresses e-mail est activée, cette méthode renvoie une liste vide.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://www.googleapis.com/auth/identitytoolkit
  • https://www.googleapis.com/auth/cloud-platform

Pour en savoir plus, consultez Authentication Overview.