signInWithIdp method

Signs in or signs up a user using credentials from an Identity Provider (IdP).

This is done by manually providing an IdP credential, or by providing the authorization response obtained via the authorization request from CreateAuthUri. If the sign-in succeeds, a new Identity Platform ID token and refresh token are issued for the authenticated user. A new Identity Platform user account will be created if the user has not previously signed in to the IdP with the same account. In addition, when the "One account per email address" setting is enabled, there should not be an existing Identity Platform user account with the same email address for a new user account to be created. An API key is required in the request in order to identify the Google Cloud project.

request - The metadata request object.

Request parameters:

$fields - Selector specifying which fields to include in a partial response.

Completes with a GoogleCloudIdentitytoolkitV1SignInWithIdpResponse.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<GoogleCloudIdentitytoolkitV1SignInWithIdpResponse> signInWithIdp(
  GoogleCloudIdentitytoolkitV1SignInWithIdpRequest request, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  const url_ = 'v1/accounts:signInWithIdp';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return GoogleCloudIdentitytoolkitV1SignInWithIdpResponse.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}