Method: accounts.createAuthUri

Se viene specificato un identificatore email, controlla e restituisce se è presente un account utente registrato con l'email. Se esiste un account registrato, recupera tutti i fornitori associati all'indirizzo email dell'account.

Se è specificato l'ID provider di un provider di identità (IdP), viene creato un URI di autorizzazione per l'IdP. L'utente può essere indirizzato a questo URI per accedere con l'IdP.

Per identificare il progetto Google Cloud, nella richiesta è obbligatoria una chiave API.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione 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
}
Campi
identifier

string

L'identificatore email dell'account utente per cui recuperare i fornitori associati. Deve essere impostato almeno uno dei campi identifier e providerId.

La lunghezza dell'indirizzo email deve essere inferiore a 256 caratteri e deve avere il formato name@domain.tld. L'indirizzo email deve inoltre corrispondere alla produzione di addr-spec RFC 822.

continueUri

string

Un URL valido a cui l'IdP deve reindirizzare l'utente. L'URL non può contenere frammenti o il parametro di query riservato state.

openidRealm
(deprecated)

string

providerId

string

L'ID provider dell'IdP con cui l'utente deve accedere. Deve essere un ID provider abilitato per l'accesso, che deve provenire dall'elenco degli IdP supportati per impostazione predefinita o avere il formato oidc.* o saml.*. Alcuni esempi sono google.com, facebook.com, oidc.testapp e saml.testapp. Deve essere impostato almeno uno dei campi identifier e providerId.

oauthConsumerKey
(deprecated)

string

oauthScope

string

Altri ambiti OAuth 2.0 separati da spazi che specificano l'ambito della richiesta di autenticazione con l'IDP. Utilizzato per le IdP OAuth 2.0.

Per il fornitore Google, verrà utilizzato il flusso del codice di autorizzazione se questo campo è impostato.

context

string

Una stringa opaca utilizzata per mantenere le informazioni contestuali tra la richiesta di autenticazione e il callback dall'IdP.

otaApp
(deprecated)

string

appId
(deprecated)

string

hostedDomain

string

Utilizzato per il provider Google. Il dominio ospitato di G Suite dell'utente per limitare l'accesso agli utenti di quel dominio.

sessionId

string

Un ID sessione che può essere verificato in accounts.signInWithIdp per impedire attacchi di fissaggio della sessione. Se non è presente, verrà generata e restituita una stringa casuale come ID sessione.

authFlowType

string

Utilizzato per il provider Google. Il tipo di flusso di autenticazione da utilizzare. Se presente, deve essere CODE_FLOW per specificare il flusso del codice di autorizzazione. In caso contrario, verrà utilizzato il flusso di token ID predefinito.

customParameter

map (key: string, value: string)

Parametri di query personalizzati aggiuntivi da aggiungere all'URI di autorizzazione. I seguenti parametri sono riservati e non possono essere aggiunti: clientId, responseType, scope, redirectUri, state.

Per il provider Microsoft, il tenant Azure AD a cui accedere può essere specificato nel parametro personalizzato tenant.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tenantId

string

L'ID del tenant di Identity Platform per cui creare un URI di autorizzazione o cercare un identificatore email. Se non è impostato, l'operazione verrà eseguita nell'istanza Identity Platform predefinita del progetto.

Corpo della risposta

Messaggio di risposta per accounts.createAuthUri.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "kind": string,
  "authUri": string,
  "allProviders": [
    string
  ],
  "registered": boolean,
  "providerId": string,
  "forExistingProvider": boolean,
  "captchaRequired": boolean,
  "sessionId": string,
  "signinMethods": [
    string
  ]
}
Campi
kind
(deprecated)

string

authUri

string

L'URI di autorizzazione per il provider richiesto. Presente solo quando nella richiesta è impostato un ID provider.

allProviders[]
(deprecated)

string

registered

boolean

Indica se l'identificatore email rappresenta un account esistente. Presente solo quando nella richiesta è impostato un identificatore email.

providerId

string

L'ID provider della richiesta, se fornito.

forExistingProvider

boolean

Indica se l'utente ha eseguito l'accesso in precedenza con l'ID provider nella richiesta. Presente solo quando nella richiesta è impostato un identificatore email registrato.

captchaRequired

boolean

Indica se è necessario un CAPTCHA perché l'utente ha effettuato troppi tentativi di accesso non riusciti. Presente solo quando nella richiesta è impostato un identificatore email registrato.

sessionId

string

L'ID sessione della richiesta o una stringa casuale generata da accounts.createAuthUri, se assente. Viene utilizzato per impedire attacchi di fissazione della sessione.

signinMethods[]

string

L'elenco dei metodi di accesso utilizzati in precedenza dall'utente. Ogni elemento è password, emailLink o l'ID provider di un IdP. Presente solo quando nella richiesta è impostato un identificatore email registrato. Se la protezione di enumerazione email è attiva, questo metodo restituisce un elenco vuoto.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

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

Per ulteriori informazioni, consulta la sezione Authentication Overview.