googleapis
Version:
Google APIs Client Library for Node.js
1,210 lines • 255 kB
TypeScript
/// <reference types="node" />
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace identitytoolkit_v2 {
export interface Options extends GlobalOptions {
version: 'v2';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Identity Toolkit API
*
* The Google Identity Toolkit API lets you use open standards to verify a user's identity.
*
* @example
* ```js
* const {google} = require('googleapis');
* const identitytoolkit = google.identitytoolkit('v2');
* ```
*/
export class Identitytoolkit {
context: APIRequestContext;
accounts: Resource$Accounts;
defaultSupportedIdps: Resource$Defaultsupportedidps;
projects: Resource$Projects;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
/**
* Defines a policy of allowing every region by default and adding disallowed regions to a disallow list.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2AllowByDefault {
/**
* Two letter unicode region codes to disallow as defined by https://cldr.unicode.org/ The full list of these region codes is here: https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json
*/
disallowedRegions?: string[] | null;
}
/**
* Defines a policy of only allowing regions by explicitly adding them to an allowlist.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2AllowlistOnly {
/**
* Two letter unicode region codes to allow as defined by https://cldr.unicode.org/ The full list of these region codes is here: https://github.com/unicode-cldr/cldr-localenames-full/blob/master/main/en/territories.json
*/
allowedRegions?: string[] | null;
}
/**
* Configuration options related to authenticating an anonymous user.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Anonymous {
/**
* Whether anonymous user auth is enabled for the project or not.
*/
enabled?: boolean | null;
}
/**
* Additional config for SignInWithApple.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2AppleSignInConfig {
/**
* A list of Bundle ID's usable by this project
*/
bundleIds?: string[] | null;
codeFlowConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2CodeFlowConfig;
}
/**
* Configuration related to Blocking Functions.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2BlockingFunctionsConfig {
/**
* The user credentials to include in the JWT payload that is sent to the registered Blocking Functions.
*/
forwardInboundCredentials?: Schema$GoogleCloudIdentitytoolkitAdminV2ForwardInboundCredentials;
/**
* Map of Trigger to event type. Key should be one of the supported event types: "beforeCreate", "beforeSignIn"
*/
triggers?: {
[key: string]: Schema$GoogleCloudIdentitytoolkitAdminV2Trigger;
} | null;
}
/**
* Options related to how clients making requests on behalf of a project should be configured.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ClientConfig {
/**
* Output only. API key that can be used when making requests for this project.
*/
apiKey?: string | null;
/**
* Output only. Firebase subdomain.
*/
firebaseSubdomain?: string | null;
/**
* Configuration related to restricting a user's ability to affect their account.
*/
permissions?: Schema$GoogleCloudIdentitytoolkitAdminV2Permissions;
}
/**
* Options related to how clients making requests on behalf of a tenant should be configured.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ClientPermissionConfig {
/**
* Configuration related to restricting a user's ability to affect their account.
*/
permissions?: Schema$GoogleCloudIdentitytoolkitAdminV2ClientPermissions;
}
/**
* Configuration related to restricting a user's ability to affect their account.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ClientPermissions {
/**
* When true, end users cannot delete their account on the associated project through any of our API methods
*/
disabledUserDeletion?: boolean | null;
/**
* When true, end users cannot sign up for a new account on the associated project through any of our API methods
*/
disabledUserSignup?: boolean | null;
}
/**
* Additional config for Apple for code flow.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2CodeFlowConfig {
/**
* Key ID for the private key.
*/
keyId?: string | null;
/**
* Private key used for signing the client secret JWT.
*/
privateKey?: string | null;
/**
* Apple Developer Team ID.
*/
teamId?: string | null;
}
/**
* Represents an Identity Toolkit project.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Config {
/**
* List of domains authorized for OAuth redirects
*/
authorizedDomains?: string[] | null;
/**
* Whether anonymous users will be auto-deleted after a period of 30 days.
*/
autodeleteAnonymousUsers?: boolean | null;
/**
* Configuration related to blocking functions.
*/
blockingFunctions?: Schema$GoogleCloudIdentitytoolkitAdminV2BlockingFunctionsConfig;
/**
* Options related to how clients making requests on behalf of a project should be configured.
*/
client?: Schema$GoogleCloudIdentitytoolkitAdminV2ClientConfig;
/**
* Configuration for this project's multi-factor authentication, including whether it is active and what factors can be used for the second factor
*/
mfa?: Schema$GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig;
/**
* Configuration related to monitoring project activity.
*/
monitoring?: Schema$GoogleCloudIdentitytoolkitAdminV2MonitoringConfig;
/**
* Configuration related to multi-tenant functionality.
*/
multiTenant?: Schema$GoogleCloudIdentitytoolkitAdminV2MultiTenantConfig;
/**
* Output only. The name of the Config resource. Example: "projects/my-awesome-project/config"
*/
name?: string | null;
/**
* Configuration related to sending notifications to users.
*/
notification?: Schema$GoogleCloudIdentitytoolkitAdminV2NotificationConfig;
/**
* Configuration related to quotas.
*/
quota?: Schema$GoogleCloudIdentitytoolkitAdminV2QuotaConfig;
/**
* Configuration related to local sign in methods.
*/
signIn?: Schema$GoogleCloudIdentitytoolkitAdminV2SignInConfig;
/**
* Configures which regions are enabled for SMS verification code sending.
*/
smsRegionConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2SmsRegionConfig;
/**
* Output only. The subtype of this config.
*/
subtype?: string | null;
}
/**
* Standard Identity Toolkit-trusted IDPs.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2DefaultSupportedIdp {
/**
* Description of the Idp
*/
description?: string | null;
/**
* Id the of Idp
*/
idpId?: string | null;
}
/**
* Configurations options for authenticating with a the standard set of Identity Toolkit-trusted IDPs.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2DefaultSupportedIdpConfig {
/**
* Additional config for Apple-based projects.
*/
appleSignInConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2AppleSignInConfig;
/**
* OAuth client ID.
*/
clientId?: string | null;
/**
* OAuth client secret.
*/
clientSecret?: string | null;
/**
* True if allows the user to sign in with the provider.
*/
enabled?: boolean | null;
/**
* The name of the DefaultSupportedIdpConfig resource, for example: "projects/my-awesome-project/defaultSupportedIdpConfigs/google.com"
*/
name?: string | null;
}
/**
* Information of custom domain DNS verification. By default, default_domain will be used. A custom domain can be configured using VerifyCustomDomain.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2DnsInfo {
/**
* Output only. The applied verified custom domain.
*/
customDomain?: string | null;
/**
* Output only. The current verification state of the custom domain. The custom domain will only be used once the domain verification is successful.
*/
customDomainState?: string | null;
/**
* Output only. The timestamp of initial request for the current domain verification.
*/
domainVerificationRequestTime?: string | null;
/**
* Output only. The custom domain that's to be verified.
*/
pendingCustomDomain?: string | null;
/**
* Whether to use custom domain.
*/
useCustomDomain?: boolean | null;
}
/**
* Configuration options related to authenticating a user by their email address.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Email {
/**
* Whether email auth is enabled for the project or not.
*/
enabled?: boolean | null;
/**
* Whether a password is required for email auth or not. If true, both an email and password must be provided to sign in. If false, a user may sign in via either email/password or email link.
*/
passwordRequired?: boolean | null;
}
/**
* Email template. The subject and body fields can contain the following placeholders which will be replaced with the appropriate values: %LINK% - The link to use to redeem the send OOB code. %EMAIL% - The email where the email is being sent. %NEW_EMAIL% - The new email being set for the account (when applicable). %APP_NAME% - The GCP project's display name. %DISPLAY_NAME% - The user's display name.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2EmailTemplate {
/**
* Email body
*/
body?: string | null;
/**
* Email body format
*/
bodyFormat?: string | null;
/**
* Output only. Whether the body or subject of the email is customized.
*/
customized?: boolean | null;
/**
* Reply-to address
*/
replyTo?: string | null;
/**
* Sender display name
*/
senderDisplayName?: string | null;
/**
* Local part of From address
*/
senderLocalPart?: string | null;
/**
* Subject of the email
*/
subject?: string | null;
}
/**
* Indicates which credentials to pass to the registered Blocking Functions.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ForwardInboundCredentials {
/**
* Whether to pass the user's OAuth identity provider's access token.
*/
accessToken?: boolean | null;
/**
* Whether to pass the user's OIDC identity provider's ID token.
*/
idToken?: boolean | null;
/**
* Whether to pass the user's OAuth identity provider's refresh token.
*/
refreshToken?: boolean | null;
}
/**
* History information of the hash algorithm and key. Different accounts' passwords may be generated by different version.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2HashConfig {
/**
* Output only. Different password hash algorithms used in Identity Toolkit.
*/
algorithm?: string | null;
/**
* Output only. Memory cost for hash calculation. Used by scrypt and other similar password derivation algorithms. See https://tools.ietf.org/html/rfc7914 for explanation of field.
*/
memoryCost?: number | null;
/**
* Output only. How many rounds for hash calculation. Used by scrypt and other similar password derivation algorithms.
*/
rounds?: number | null;
/**
* Output only. Non-printable character to be inserted between the salt and plain text password in base64.
*/
saltSeparator?: string | null;
/**
* Output only. Signer key in base64.
*/
signerKey?: string | null;
}
/**
* The IDP's certificate data to verify the signature in the SAMLResponse issued by the IDP.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2IdpCertificate {
/**
* The x509 certificate
*/
x509Certificate?: string | null;
}
/**
* The SAML IdP (Identity Provider) configuration when the project acts as the relying party.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2IdpConfig {
/**
* IDP's public keys for verifying signature in the assertions.
*/
idpCertificates?: Schema$GoogleCloudIdentitytoolkitAdminV2IdpCertificate[];
/**
* Unique identifier for all SAML entities.
*/
idpEntityId?: string | null;
/**
* Indicates if outbounding SAMLRequest should be signed.
*/
signRequest?: boolean | null;
/**
* URL to send Authentication request to.
*/
ssoUrl?: string | null;
}
/**
* A pair of SAML RP-IDP configurations when the project acts as the relying party.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2InboundSamlConfig {
/**
* The config's display name set by developers.
*/
displayName?: string | null;
/**
* True if allows the user to sign in with the provider.
*/
enabled?: boolean | null;
/**
* The SAML IdP (Identity Provider) configuration when the project acts as the relying party.
*/
idpConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2IdpConfig;
/**
* The name of the InboundSamlConfig resource, for example: 'projects/my-awesome-project/inboundSamlConfigs/my-config-id'. Ignored during create requests.
*/
name?: string | null;
/**
* The SAML SP (Service Provider) configuration when the project acts as the relying party to receive and accept an authentication assertion issued by a SAML identity provider.
*/
spConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2SpConfig;
}
/**
* Settings that the tenants will inherit from project level.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Inheritance {
/**
* Whether to allow the tenant to inherit custom domains, email templates, and custom SMTP settings. If true, email sent from tenant will follow the project level email sending configurations. If false (by default), emails will go with the default settings with no customizations.
*/
emailSendingConfig?: boolean | null;
}
/**
* Request for InitializeIdentityPlatform.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2InitializeIdentityPlatformRequest {
}
/**
* Response for InitializeIdentityPlatform. Empty for now.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2InitializeIdentityPlatformResponse {
}
/**
* Response for DefaultSupportedIdpConfigs
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ListDefaultSupportedIdpConfigsResponse {
/**
* The set of configs.
*/
defaultSupportedIdpConfigs?: Schema$GoogleCloudIdentitytoolkitAdminV2DefaultSupportedIdpConfig[];
/**
* Token to retrieve the next page of results, or empty if there are no more results in the list.
*/
nextPageToken?: string | null;
}
/**
* Response for ListDefaultSupportedIdps
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ListDefaultSupportedIdpsResponse {
/**
* The set of configs.
*/
defaultSupportedIdps?: Schema$GoogleCloudIdentitytoolkitAdminV2DefaultSupportedIdp[];
/**
* Token to retrieve the next page of results, or empty if there are no more results in the list.
*/
nextPageToken?: string | null;
}
/**
* Response for ListInboundSamlConfigs
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ListInboundSamlConfigsResponse {
/**
* The set of configs.
*/
inboundSamlConfigs?: Schema$GoogleCloudIdentitytoolkitAdminV2InboundSamlConfig[];
/**
* Token to retrieve the next page of results, or empty if there are no more results in the list.
*/
nextPageToken?: string | null;
}
/**
* Response for ListOAuthIdpConfigs
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ListOAuthIdpConfigsResponse {
/**
* Token to retrieve the next page of results, or empty if there are no more results in the list.
*/
nextPageToken?: string | null;
/**
* The set of configs.
*/
oauthIdpConfigs?: Schema$GoogleCloudIdentitytoolkitAdminV2OAuthIdpConfig[];
}
/**
* Response message for ListTenants.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2ListTenantsResponse {
/**
* The token to get the next page of results.
*/
nextPageToken?: string | null;
/**
* A list of tenants under the given agent project.
*/
tenants?: Schema$GoogleCloudIdentitytoolkitAdminV2Tenant[];
}
/**
* Configuration related to monitoring project activity.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2MonitoringConfig {
/**
* Configuration for logging requests made to this project to Stackdriver Logging
*/
requestLogging?: Schema$GoogleCloudIdentitytoolkitAdminV2RequestLogging;
}
/**
* Options related to MultiFactor Authentication for the project.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig {
/**
* A list of usable second factors for this project.
*/
enabledProviders?: string[] | null;
/**
* Whether MultiFactor Authentication has been enabled for this project.
*/
state?: string | null;
}
/**
* Configuration related to multi-tenant functionality.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2MultiTenantConfig {
/**
* Whether this project can have tenants or not.
*/
allowTenants?: boolean | null;
/**
* The default cloud parent org or folder that the tenant project should be created under. The parent resource name should be in the format of "/", such as "folders/123" or "organizations/456". If the value is not set, the tenant will be created under the same organization or folder as the agent project.
*/
defaultTenantLocation?: string | null;
}
/**
* Configuration related to sending notifications to users.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2NotificationConfig {
/**
* Default locale used for email and SMS in IETF BCP 47 format.
*/
defaultLocale?: string | null;
/**
* Options for email sending.
*/
sendEmail?: Schema$GoogleCloudIdentitytoolkitAdminV2SendEmail;
/**
* Options for SMS sending.
*/
sendSms?: Schema$GoogleCloudIdentitytoolkitAdminV2SendSms;
}
/**
* Configuration options for authenticating with an OAuth IDP.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2OAuthIdpConfig {
/**
* The client id of an OAuth client.
*/
clientId?: string | null;
/**
* The client secret of the OAuth client, to enable OIDC code flow.
*/
clientSecret?: string | null;
/**
* The config's display name set by developers.
*/
displayName?: string | null;
/**
* True if allows the user to sign in with the provider.
*/
enabled?: boolean | null;
/**
* For OIDC Idps, the issuer identifier.
*/
issuer?: string | null;
/**
* The name of the OAuthIdpConfig resource, for example: 'projects/my-awesome-project/oauthIdpConfigs/oauth-config-id'. Ignored during create requests.
*/
name?: string | null;
/**
* The response type to request for in the OAuth authorization flow. You can set either `id_token` or `code` to true, but not both. Setting both types to be simultaneously true (`{code: true, id_token: true\}`) is not yet supported.
*/
responseType?: Schema$GoogleCloudIdentitytoolkitAdminV2OAuthResponseType;
}
/**
* The response type to request for in the OAuth authorization flow. You can set either `id_token` or `code` to true, but not both. Setting both types to be simultaneously true (`{code: true, id_token: true\}`) is not yet supported. See https://openid.net/specs/openid-connect-core-1_0.html#Authentication for a mapping of response type to OAuth 2.0 flow.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2OAuthResponseType {
/**
* If true, authorization code is returned from IdP's authorization endpoint.
*/
code?: boolean | null;
/**
* If true, ID token is returned from IdP's authorization endpoint.
*/
idToken?: boolean | null;
/**
* Do not use. The `token` response type is not supported at the moment.
*/
token?: boolean | null;
}
/**
* Configuration related to restricting a user's ability to affect their account.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Permissions {
/**
* When true, end users cannot delete their account on the associated project through any of our API methods
*/
disabledUserDeletion?: boolean | null;
/**
* When true, end users cannot sign up for a new account on the associated project through any of our API methods
*/
disabledUserSignup?: boolean | null;
}
/**
* Configuration options related to authenticated a user by their phone number.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2PhoneNumber {
/**
* Whether phone number auth is enabled for the project or not.
*/
enabled?: boolean | null;
/**
* A map of that can be used for phone auth testing.
*/
testPhoneNumbers?: {
[key: string]: string;
} | null;
}
/**
* Configuration related to quotas.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2QuotaConfig {
/**
* Quota for the Signup endpoint, if overwritten. Signup quota is measured in sign ups per project per hour per IP.
*/
signUpQuotaConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2TemporaryQuota;
}
/**
* Configuration for logging requests made to this project to Stackdriver Logging
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2RequestLogging {
/**
* Whether logging is enabled for this project or not.
*/
enabled?: boolean | null;
}
/**
* Options for email sending.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2SendEmail {
/**
* action url in email template.
*/
callbackUri?: string | null;
/**
* Email template for change email
*/
changeEmailTemplate?: Schema$GoogleCloudIdentitytoolkitAdminV2EmailTemplate;
/**
* Information of custom domain DNS verification.
*/
dnsInfo?: Schema$GoogleCloudIdentitytoolkitAdminV2DnsInfo;
/**
* Reset password email template for legacy Firebase V1 app.
*/
legacyResetPasswordTemplate?: Schema$GoogleCloudIdentitytoolkitAdminV2EmailTemplate;
/**
* The method used for sending an email.
*/
method?: string | null;
/**
* Email template for reset password
*/
resetPasswordTemplate?: Schema$GoogleCloudIdentitytoolkitAdminV2EmailTemplate;
/**
* Email template for reverting second factor addition emails
*/
revertSecondFactorAdditionTemplate?: Schema$GoogleCloudIdentitytoolkitAdminV2EmailTemplate;
/**
* Use a custom SMTP relay
*/
smtp?: Schema$GoogleCloudIdentitytoolkitAdminV2Smtp;
/**
* Email template for verify email
*/
verifyEmailTemplate?: Schema$GoogleCloudIdentitytoolkitAdminV2EmailTemplate;
}
/**
* Options for SMS sending.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2SendSms {
/**
* Output only. The template to use when sending an SMS.
*/
smsTemplate?: Schema$GoogleCloudIdentitytoolkitAdminV2SmsTemplate;
/**
* Whether to use the accept_language header for SMS.
*/
useDeviceLocale?: boolean | null;
}
/**
* Configuration related to local sign in methods.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2SignInConfig {
/**
* Whether to allow more than one account to have the same email.
*/
allowDuplicateEmails?: boolean | null;
/**
* Configuration options related to authenticating an anonymous user.
*/
anonymous?: Schema$GoogleCloudIdentitytoolkitAdminV2Anonymous;
/**
* Configuration options related to authenticating a user by their email address.
*/
email?: Schema$GoogleCloudIdentitytoolkitAdminV2Email;
/**
* Output only. Hash config information.
*/
hashConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2HashConfig;
/**
* Configuration options related to authenticated a user by their phone number.
*/
phoneNumber?: Schema$GoogleCloudIdentitytoolkitAdminV2PhoneNumber;
}
/**
* Configures the regions where users are allowed to send verification SMS for the project or tenant. This is based on the calling code of the destination phone number.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2SmsRegionConfig {
/**
* A policy of allowing SMS to every region by default and adding disallowed regions to a disallow list.
*/
allowByDefault?: Schema$GoogleCloudIdentitytoolkitAdminV2AllowByDefault;
/**
* A policy of only allowing regions by explicitly adding them to an allowlist.
*/
allowlistOnly?: Schema$GoogleCloudIdentitytoolkitAdminV2AllowlistOnly;
}
/**
* The template to use when sending an SMS.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2SmsTemplate {
/**
* Output only. The SMS's content. Can contain the following placeholders which will be replaced with the appropriate values: %APP_NAME% - For Android or iOS apps, the app's display name. For web apps, the domain hosting the application. %LOGIN_CODE% - The OOB code being sent in the SMS.
*/
content?: string | null;
}
/**
* Configuration for SMTP relay
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Smtp {
/**
* SMTP relay host
*/
host?: string | null;
/**
* SMTP relay password
*/
password?: string | null;
/**
* SMTP relay port
*/
port?: number | null;
/**
* SMTP security mode.
*/
securityMode?: string | null;
/**
* Sender email for the SMTP relay
*/
senderEmail?: string | null;
/**
* SMTP relay username
*/
username?: string | null;
}
/**
* The SP's certificate data for IDP to verify the SAMLRequest generated by the SP.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2SpCertificate {
/**
* Timestamp of the cert expiration instance.
*/
expiresAt?: string | null;
/**
* Self-signed public certificate.
*/
x509Certificate?: string | null;
}
/**
* The SAML SP (Service Provider) configuration when the project acts as the relying party to receive and accept an authentication assertion issued by a SAML identity provider.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2SpConfig {
/**
* Callback URI where responses from IDP are handled.
*/
callbackUri?: string | null;
/**
* Output only. Public certificates generated by the server to verify the signature in SAMLRequest in the SP-initiated flow.
*/
spCertificates?: Schema$GoogleCloudIdentitytoolkitAdminV2SpCertificate[];
/**
* Unique identifier for all SAML entities.
*/
spEntityId?: string | null;
}
/**
* Temporary quota increase / decrease
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2TemporaryQuota {
/**
* Corresponds to the 'refill_token_count' field in QuotaServer config
*/
quota?: string | null;
/**
* How long this quota will be active for
*/
quotaDuration?: string | null;
/**
* When this quota will take affect
*/
startTime?: string | null;
}
/**
* A Tenant contains configuration for the tenant in a multi-tenant project.
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Tenant {
/**
* Whether to allow email/password user authentication.
*/
allowPasswordSignup?: boolean | null;
/**
* Whether anonymous users will be auto-deleted after a period of 30 days.
*/
autodeleteAnonymousUsers?: boolean | null;
/**
* Options related to how clients making requests on behalf of a project should be configured.
*/
client?: Schema$GoogleCloudIdentitytoolkitAdminV2ClientPermissionConfig;
/**
* Whether authentication is disabled for the tenant. If true, the users under the disabled tenant are not allowed to sign-in. Admins of the disabled tenant are not able to manage its users.
*/
disableAuth?: boolean | null;
/**
* Display name of the tenant.
*/
displayName?: string | null;
/**
* Whether to enable anonymous user authentication.
*/
enableAnonymousUser?: boolean | null;
/**
* Whether to enable email link user authentication.
*/
enableEmailLinkSignin?: boolean | null;
/**
* Output only. Hash config information of a tenant for display on Pantheon. This can only be displayed on Pantheon to avoid the sensitive information to get accidentally leaked. Only returned in GetTenant response to restrict reading of this information. Requires firebaseauth.configs.getHashConfig permission on the agent project for returning this field.
*/
hashConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2HashConfig;
/**
* Specify the settings that the tenant could inherit.
*/
inheritance?: Schema$GoogleCloudIdentitytoolkitAdminV2Inheritance;
/**
* The tenant-level configuration of MFA options.
*/
mfaConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2MultiFactorAuthConfig;
/**
* Configuration related to monitoring project activity.
*/
monitoring?: Schema$GoogleCloudIdentitytoolkitAdminV2MonitoringConfig;
/**
* Output only. Resource name of a tenant. For example: "projects/{project-id\}/tenants/{tenant-id\}"
*/
name?: string | null;
/**
* Configures which regions are enabled for SMS verification code sending.
*/
smsRegionConfig?: Schema$GoogleCloudIdentitytoolkitAdminV2SmsRegionConfig;
/**
* A map of pairs that can be used for MFA. The phone number should be in E.164 format (https://www.itu.int/rec/T-REC-E.164/) and a maximum of 10 pairs can be added (error will be thrown once exceeded).
*/
testPhoneNumbers?: {
[key: string]: string;
} | null;
}
/**
* Synchronous Cloud Function with HTTP Trigger
*/
export interface Schema$GoogleCloudIdentitytoolkitAdminV2Trigger {
/**
* HTTP URI trigger for the Cloud Function.
*/
functionUri?: string | null;
/**
* When the trigger was changed.
*/
updateTime?: string | null;
}
/**
* The information required to auto-retrieve an SMS.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2AutoRetrievalInfo {
/**
* The Android app's signature hash for Google Play Service's SMS Retriever API.
*/
appSignatureHash?: string | null;
}
/**
* Finishes enrolling a second factor for the user.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaEnrollmentRequest {
/**
* Display name which is entered by users to distinguish between different second factors with same type or different type.
*/
displayName?: string | null;
/**
* Required. ID token.
*/
idToken?: string | null;
/**
* Verification info to authorize sending an SMS for phone verification.
*/
phoneVerificationInfo?: Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaPhoneRequestInfo;
/**
* The ID of the Identity Platform tenant that the user enrolling MFA belongs to. If not set, the user belongs to the default Identity Platform project.
*/
tenantId?: string | null;
}
/**
* FinalizeMfaEnrollment response.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaEnrollmentResponse {
/**
* ID token updated to reflect MFA enrollment.
*/
idToken?: string | null;
/**
* Auxiliary auth info specific to phone auth.
*/
phoneAuthInfo?: Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaPhoneResponseInfo;
/**
* Refresh token updated to reflect MFA enrollment.
*/
refreshToken?: string | null;
}
/**
* Phone Verification info for a FinalizeMfa request.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaPhoneRequestInfo {
/**
* Android only. Uses for "instant" phone number verification though GmsCore.
*/
androidVerificationProof?: string | null;
/**
* User-entered verification code.
*/
code?: string | null;
/**
* Required if Android verification proof is presented.
*/
phoneNumber?: string | null;
/**
* An opaque string that represents the enrollment session.
*/
sessionInfo?: string | null;
}
/**
* Phone Verification info for a FinalizeMfa response.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaPhoneResponseInfo {
/**
* Android only. Long-lived replacement for valid code tied to android device.
*/
androidVerificationProof?: string | null;
/**
* Android only. Expiration time of verification proof in seconds.
*/
androidVerificationProofExpireTime?: string | null;
/**
* For Android verification proof.
*/
phoneNumber?: string | null;
}
/**
* Finalizes sign-in by verifying MFA challenge.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaSignInRequest {
/**
* Required. Pending credential from first factor sign-in.
*/
mfaPendingCredential?: string | null;
/**
* Proof of completion of the SMS based MFA challenge.
*/
phoneVerificationInfo?: Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaPhoneRequestInfo;
/**
* The ID of the Identity Platform tenant the user is signing in to. If not set, the user will sign in to the default Identity Platform project.
*/
tenantId?: string | null;
}
/**
* FinalizeMfaSignIn response.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaSignInResponse {
/**
* ID token for the authenticated user.
*/
idToken?: string | null;
/**
* Extra phone auth info, including android verification proof.
*/
phoneAuthInfo?: Schema$GoogleCloudIdentitytoolkitV2FinalizeMfaPhoneResponseInfo;
/**
* Refresh token for the authenticated user.
*/
refreshToken?: string | null;
}
/**
* Sends MFA enrollment verification SMS for a user.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2StartMfaEnrollmentRequest {
/**
* Required. User's ID token.
*/
idToken?: string | null;
/**
* Verification info to authorize sending an SMS for phone verification.
*/
phoneEnrollmentInfo?: Schema$GoogleCloudIdentitytoolkitV2StartMfaPhoneRequestInfo;
/**
* The ID of the Identity Platform tenant that the user enrolling MFA belongs to. If not set, the user belongs to the default Identity Platform project.
*/
tenantId?: string | null;
}
/**
* StartMfaEnrollment response.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2StartMfaEnrollmentResponse {
/**
* Verification info to authorize sending an SMS for phone verification.
*/
phoneSessionInfo?: Schema$GoogleCloudIdentitytoolkitV2StartMfaPhoneResponseInfo;
}
/**
* App Verification info for a StartMfa request.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2StartMfaPhoneRequestInfo {
/**
* Android only. Used by Google Play Services to identify the app for auto-retrieval.
*/
autoRetrievalInfo?: Schema$GoogleCloudIdentitytoolkitV2AutoRetrievalInfo;
/**
* iOS only. Receipt of successful app token validation with APNS.
*/
iosReceipt?: string | null;
/**
* iOS only. Secret delivered to iOS app via APNS.
*/
iosSecret?: string | null;
/**
* Required for enrollment. Phone number to be enrolled as MFA.
*/
phoneNumber?: string | null;
/**
* Web only. Recaptcha solution.
*/
recaptchaToken?: string | null;
/**
* Android only. Used to assert application identity in place of a recaptcha token. A SafetyNet Token can be generated via the [SafetyNet Android Attestation API](https://developer.android.com/training/safetynet/attestation.html), with the Base64 encoding of the `phone_number` field as the nonce.
*/
safetyNetToken?: string | null;
}
/**
* Phone Verification info for a StartMfa response.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2StartMfaPhoneResponseInfo {
/**
* An opaque string that represents the enrollment session.
*/
sessionInfo?: string | null;
}
/**
* Starts multi-factor sign-in by sending the multi-factor auth challenge.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2StartMfaSignInRequest {
/**
* Required. MFA enrollment id from the user's list of current MFA enrollments.
*/
mfaEnrollmentId?: string | null;
/**
* Required. Pending credential from first factor sign-in.
*/
mfaPendingCredential?: string | null;
/**
* Verification info to authorize sending an SMS for phone verification.
*/
phoneSignInInfo?: Schema$GoogleCloudIdentitytoolkitV2StartMfaPhoneRequestInfo;
/**
* The ID of the Identity Platform tenant the user is signing in to. If not set, the user will sign in to the default Identity Platform project.
*/
tenantId?: string | null;
}
/**
* StartMfaSignIn response.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2StartMfaSignInResponse {
/**
* MultiFactor sign-in session information specific to SMS-type second factors. Along with the one-time code retrieved from the sent SMS, the contents of this session information should be passed to FinalizeMfaSignIn to complete the sign in.
*/
phoneResponseInfo?: Schema$GoogleCloudIdentitytoolkitV2StartMfaPhoneResponseInfo;
}
/**
* Withdraws MFA.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2WithdrawMfaRequest {
/**
* Required. User's ID token.
*/
idToken?: string | null;
/**
* Required. MFA enrollment id from a current MFA enrollment.
*/
mfaEnrollmentId?: string | null;
/**
* The ID of the Identity Platform tenant that the user unenrolling MFA belongs to. If not set, the user belongs to the default Identity Platform project.
*/
tenantId?: string | null;
}
/**
* Withdraws MultiFactorAuth response.
*/
export interface Schema$GoogleCloudIdentitytoolkitV2WithdrawMfaResponse {
/**
* ID token updated to reflect removal of the second factor.
*/
idToken?: string | null;
/**
* Refresh token updated to reflect removal of the second factor.
*/
refreshToken?: string | null;
}
/**
* Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
*/
export interface Schema$GoogleIamV1AuditConfig {
/**
* The configuration for logging of each type of permission.
*/
auditLogConfigs?: Schema$GoogleIamV1AuditLogConfig[];
/**
* Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.
*/
service?: string | null;
}
/**
* Provides the configuration for logging a type of permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \} ] \} This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.
*/
export interface Schema$GoogleIamV1AuditLogConfig {
/**
* Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.
*/
exemptedMembers?: string[] | null;
/**
* The log type that this config enables.
*/
logType?: string | null;
}
/**
* Associates `members`, or principals, with a `role`.
*/
export interface Schema$GoogleIamV1Binding {
/**
* The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
*/
condition?: Schema$GoogleTypeExpr;
/**
* Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid\}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid\}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid\}.svc.id.goog[{namespace\}/{kubernetes-sa\}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid\}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid\}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid\}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid\}?uid={uniqueid\}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@exam