Identity Toolkit API . projects

Instance Methods

defaultSupportedIdpConfigs()

Returns the defaultSupportedIdpConfigs Resource.

identityPlatform()

Returns the identityPlatform Resource.

inboundSamlConfigs()

Returns the inboundSamlConfigs Resource.

oauthIdpConfigs()

Returns the oauthIdpConfigs Resource.

tenants()

Returns the tenants Resource.

close()

Close httplib2 connections.

getConfig(name, x__xgafv=None)

Retrieve an Identity Toolkit project configuration.

updateConfig(name, body=None, updateMask=None, x__xgafv=None)

Update an Identity Toolkit project configuration.

Method Details

close()
Close httplib2 connections.
getConfig(name, x__xgafv=None)
Retrieve an Identity Toolkit project configuration.

Args:
  name: string, The resource name of the config, for example: "projects/my-awesome-project/config" (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents an Identity Toolkit project.
  "authorizedDomains": [ # List of domains authorized for OAuth redirects
    "A String",
  ],
  "autodeleteAnonymousUsers": True or False, # Whether anonymous users will be auto-deleted after a period of 30 days.
  "blockingFunctions": { # Configuration related to Blocking Functions. # Configuration related to blocking functions.
    "forwardInboundCredentials": { # Indicates which credentials to pass to the registered Blocking Functions. # The user credentials to include in the JWT payload that is sent to the registered Blocking Functions.
      "accessToken": True or False, # Whether to pass the user's OAuth identity provider's access token.
      "idToken": True or False, # Whether to pass the user's OIDC identity provider's ID token.
      "refreshToken": True or False, # Whether to pass the user's OAuth identity provider's refresh token.
    },
    "triggers": { # Map of Trigger to event type. Key should be one of the supported event types: "beforeCreate", "beforeSignIn"
      "a_key": { # Synchronous Cloud Function with HTTP Trigger
        "functionUri": "A String", # HTTP URI trigger for the Cloud Function.
        "updateTime": "A String", # When the trigger was changed.
      },
    },
  },
  "client": { # Options related to how clients making requests on behalf of a project should be configured. # Options related to how clients making requests on behalf of a project should be configured.
    "apiKey": "A String", # Output only. API key that can be used when making requests for this project.
    "firebaseSubdomain": "A String", # Output only. Firebase subdomain.
    "permissions": { # Configuration related to restricting a user's ability to affect their account. # Configuration related to restricting a user's ability to affect their account.
      "disabledUserDeletion": True or False, # When true, end users cannot delete their account on the associated project through any of our API methods
      "disabledUserSignup": True or False, # When true, end users cannot sign up for a new account on the associated project through any of our API methods
    },
  },
  "emailPrivacyConfig": { # Configuration for settings related to email privacy and public visibility. Settings in this config protect against email enumeration, but may make some trade-offs in user-friendliness. # Configuration for settings related to email privacy and public visibility.
    "enableImprovedEmailPrivacy": True or False, # Migrates the project to a state of improved email privacy. For example certain error codes are more generic to avoid giving away information on whether the account exists. In addition, this disables certain features that as a side-effect allow user enumeration. Enabling this toggle disables the fetchSignInMethodsForEmail functionality and changing the user's email to an unverified email. It is recommended to remove dependence on this functionality and enable this toggle to improve user privacy.
  },
  "mfa": { # Options related to MultiFactor Authentication for the project. # Configuration for this project's multi-factor authentication, including whether it is active and what factors can be used for the second factor
    "enabledProviders": [ # A list of usable second factors for this project.
      "A String",
    ],
    "providerConfigs": [ # A list of usable second factors for this project along with their configurations. This field does not support phone based MFA, for that use the 'enabled_providers' field.
      { # ProviderConfig describes the supported MFA providers along with their configurations.
        "state": "A String", # Describes the state of the MultiFactor Authentication type.
        "totpProviderConfig": { # TotpMFAProviderConfig represents the TOTP based MFA provider. # TOTP MFA provider config for this project.
          "adjacentIntervals": 42, # The allowed number of adjacent intervals that will be used for verification to avoid clock skew.
        },
      },
    ],
    "state": "A String", # Whether MultiFactor Authentication has been enabled for this project.
  },
  "monitoring": { # Configuration related to monitoring project activity. # Configuration related to monitoring project activity.
    "requestLogging": { # Configuration for logging requests made to this project to Stackdriver Logging # Configuration for logging requests made to this project to Stackdriver Logging
      "enabled": True or False, # Whether logging is enabled for this project or not.
    },
  },
  "multiTenant": { # Configuration related to multi-tenant functionality. # Configuration related to multi-tenant functionality.
    "allowTenants": True or False, # Whether this project can have tenants or not.
    "defaultTenantLocation": "A String", # 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.
  },
  "name": "A String", # Output only. The name of the Config resource. Example: "projects/my-awesome-project/config"
  "notification": { # Configuration related to sending notifications to users. # Configuration related to sending notifications to users.
    "defaultLocale": "A String", # Default locale used for email and SMS in IETF BCP 47 format.
    "sendEmail": { # Options for email sending. # Options for email sending.
      "callbackUri": "A String", # action url in email template.
      "changeEmailTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for change email
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "dnsInfo": { # Information of custom domain DNS verification. By default, default_domain will be used. A custom domain can be configured using VerifyCustomDomain. # Information of custom domain DNS verification.
        "customDomain": "A String", # Output only. The applied verified custom domain.
        "customDomainState": "A String", # Output only. The current verification state of the custom domain. The custom domain will only be used once the domain verification is successful.
        "domainVerificationRequestTime": "A String", # Output only. The timestamp of initial request for the current domain verification.
        "pendingCustomDomain": "A String", # Output only. The custom domain that's to be verified.
        "useCustomDomain": True or False, # Whether to use custom domain.
      },
      "legacyResetPasswordTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Reset password email template for legacy Firebase V1 app.
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "method": "A String", # The method used for sending an email.
      "resetPasswordTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for reset password
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "revertSecondFactorAdditionTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for reverting second factor addition emails
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "smtp": { # Configuration for SMTP relay # Use a custom SMTP relay
        "host": "A String", # SMTP relay host
        "password": "A String", # SMTP relay password
        "port": 42, # SMTP relay port
        "securityMode": "A String", # SMTP security mode.
        "senderEmail": "A String", # Sender email for the SMTP relay
        "username": "A String", # SMTP relay username
      },
      "verifyEmailTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for verify email
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
    },
    "sendSms": { # Options for SMS sending. # Options for SMS sending.
      "smsTemplate": { # The template to use when sending an SMS. # Output only. The template to use when sending an SMS.
        "content": "A String", # 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.
      },
      "useDeviceLocale": True or False, # Whether to use the accept_language header for SMS.
    },
  },
  "passwordPolicyConfig": { # The configuration for the password policy on the project. # The project level password policy configuration.
    "forceUpgradeOnSignin": True or False, # Users must have a password compliant with the password policy to sign-in.
    "lastUpdateTime": "A String", # Output only. The last time the password policy on the project was updated.
    "passwordPolicyEnforcementState": "A String", # Which enforcement mode to use for the password policy.
    "passwordPolicyVersions": [ # Must be of length 1. Contains the strength attributes for the password policy.
      { # The strength attributes for the password policy on the project.
        "customStrengthOptions": { # Custom strength options to enforce on user passwords. # The custom strength options enforced by the password policy.
          "containsLowercaseCharacter": True or False, # The password must contain a lower case character.
          "containsNonAlphanumericCharacter": True or False, # The password must contain a non alpha numeric character.
          "containsNumericCharacter": True or False, # The password must contain a number.
          "containsUppercaseCharacter": True or False, # The password must contain an upper case character.
          "maxPasswordLength": 42, # Maximum password length. No default max length
          "minPasswordLength": 42, # Minimum password length. Range from 6 to 30
        },
        "schemaVersion": 42, # Output only. schema version number for the password policy
      },
    ],
  },
  "quota": { # Configuration related to quotas. # Configuration related to quotas.
    "signUpQuotaConfig": { # Temporary quota increase / decrease # Quota for the Signup endpoint, if overwritten. Signup quota is measured in sign ups per project per hour per IP.
      "quota": "A String", # Corresponds to the 'refill_token_count' field in QuotaServer config
      "quotaDuration": "A String", # How long this quota will be active for
      "startTime": "A String", # When this quota will take effect
    },
  },
  "recaptchaConfig": { # The reCAPTCHA Enterprise integration config. # The project-level reCAPTCHA config.
    "emailPasswordEnforcementState": "A String", # The reCAPTCHA config for email/password provider, containing the enforcement status. The email/password provider contains all related user flows protected by reCAPTCHA.
    "managedRules": [ # The managed rules for authentication action based on reCAPTCHA scores. The rules are shared across providers for a given tenant project.
      { # The config for a reCAPTCHA managed rule. Models a single interval [start_score, end_score]. The start_score is implicit. It is either the closest smaller end_score (if one is available) or 0. Intervals in aggregate span [0, 1] without overlapping.
        "action": "A String", # The action taken if the reCAPTCHA score of a request is within the interval [start_score, end_score].
        "endScore": 3.14, # The end score (inclusive) of the score range for an action. Must be a value between 0.0 and 1.0, at 11 discrete values; e.g. 0, 0.1, 0.2, 0.3, ... 0.9, 1.0. A score of 0.0 indicates the riskiest request (likely a bot), whereas 1.0 indicates the safest request (likely a human). See https://cloud.google.com/recaptcha-enterprise/docs/interpret-assessment.
      },
    ],
    "recaptchaKeys": [ # The reCAPTCHA keys.
      { # The reCAPTCHA key config. reCAPTCHA Enterprise offers different keys for different client platforms.
        "key": "A String", # The reCAPTCHA Enterprise key resource name, e.g. "projects/{project}/keys/{key}"
        "type": "A String", # The client's platform type.
      },
    ],
    "useAccountDefender": True or False, # Whether to use the account defender for reCAPTCHA assessment. Defaults to `false`.
  },
  "signIn": { # Configuration related to local sign in methods. # Configuration related to local sign in methods.
    "allowDuplicateEmails": True or False, # Whether to allow more than one account to have the same email.
    "anonymous": { # Configuration options related to authenticating an anonymous user. # Configuration options related to authenticating an anonymous user.
      "enabled": True or False, # Whether anonymous user auth is enabled for the project or not.
    },
    "email": { # Configuration options related to authenticating a user by their email address. # Configuration options related to authenticating a user by their email address.
      "enabled": True or False, # Whether email auth is enabled for the project or not.
      "passwordRequired": True or False, # 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.
    },
    "hashConfig": { # History information of the hash algorithm and key. Different accounts' passwords may be generated by different version. # Output only. Hash config information.
      "algorithm": "A String", # Output only. Different password hash algorithms used in Identity Toolkit.
      "memoryCost": 42, # 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.
      "rounds": 42, # Output only. How many rounds for hash calculation. Used by scrypt and other similar password derivation algorithms.
      "saltSeparator": "A String", # Output only. Non-printable character to be inserted between the salt and plain text password in base64.
      "signerKey": "A String", # Output only. Signer key in base64.
    },
    "phoneNumber": { # Configuration options related to authenticated a user by their phone number. # Configuration options related to authenticated a user by their phone number.
      "enabled": True or False, # Whether phone number auth is enabled for the project or not.
      "testPhoneNumbers": { # A map of that can be used for phone auth testing.
        "a_key": "A String",
      },
    },
  },
  "smsRegionConfig": { # 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. # Configures which regions are enabled for SMS verification code sending.
    "allowByDefault": { # Defines a policy of allowing every region by default and adding disallowed regions to a disallow list. # A policy of allowing SMS to every region by default and adding disallowed regions to a disallow list.
      "disallowedRegions": [ # 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
        "A String",
      ],
    },
    "allowlistOnly": { # Defines a policy of only allowing regions by explicitly adding them to an allowlist. # A policy of only allowing regions by explicitly adding them to an allowlist.
      "allowedRegions": [ # 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
        "A String",
      ],
    },
  },
  "subtype": "A String", # Output only. The subtype of this config.
}
updateConfig(name, body=None, updateMask=None, x__xgafv=None)
Update an Identity Toolkit project configuration.

Args:
  name: string, Output only. The name of the Config resource. Example: "projects/my-awesome-project/config" (required)
  body: object, The request body.
    The object takes the form of:

{ # Represents an Identity Toolkit project.
  "authorizedDomains": [ # List of domains authorized for OAuth redirects
    "A String",
  ],
  "autodeleteAnonymousUsers": True or False, # Whether anonymous users will be auto-deleted after a period of 30 days.
  "blockingFunctions": { # Configuration related to Blocking Functions. # Configuration related to blocking functions.
    "forwardInboundCredentials": { # Indicates which credentials to pass to the registered Blocking Functions. # The user credentials to include in the JWT payload that is sent to the registered Blocking Functions.
      "accessToken": True or False, # Whether to pass the user's OAuth identity provider's access token.
      "idToken": True or False, # Whether to pass the user's OIDC identity provider's ID token.
      "refreshToken": True or False, # Whether to pass the user's OAuth identity provider's refresh token.
    },
    "triggers": { # Map of Trigger to event type. Key should be one of the supported event types: "beforeCreate", "beforeSignIn"
      "a_key": { # Synchronous Cloud Function with HTTP Trigger
        "functionUri": "A String", # HTTP URI trigger for the Cloud Function.
        "updateTime": "A String", # When the trigger was changed.
      },
    },
  },
  "client": { # Options related to how clients making requests on behalf of a project should be configured. # Options related to how clients making requests on behalf of a project should be configured.
    "apiKey": "A String", # Output only. API key that can be used when making requests for this project.
    "firebaseSubdomain": "A String", # Output only. Firebase subdomain.
    "permissions": { # Configuration related to restricting a user's ability to affect their account. # Configuration related to restricting a user's ability to affect their account.
      "disabledUserDeletion": True or False, # When true, end users cannot delete their account on the associated project through any of our API methods
      "disabledUserSignup": True or False, # When true, end users cannot sign up for a new account on the associated project through any of our API methods
    },
  },
  "emailPrivacyConfig": { # Configuration for settings related to email privacy and public visibility. Settings in this config protect against email enumeration, but may make some trade-offs in user-friendliness. # Configuration for settings related to email privacy and public visibility.
    "enableImprovedEmailPrivacy": True or False, # Migrates the project to a state of improved email privacy. For example certain error codes are more generic to avoid giving away information on whether the account exists. In addition, this disables certain features that as a side-effect allow user enumeration. Enabling this toggle disables the fetchSignInMethodsForEmail functionality and changing the user's email to an unverified email. It is recommended to remove dependence on this functionality and enable this toggle to improve user privacy.
  },
  "mfa": { # Options related to MultiFactor Authentication for the project. # Configuration for this project's multi-factor authentication, including whether it is active and what factors can be used for the second factor
    "enabledProviders": [ # A list of usable second factors for this project.
      "A String",
    ],
    "providerConfigs": [ # A list of usable second factors for this project along with their configurations. This field does not support phone based MFA, for that use the 'enabled_providers' field.
      { # ProviderConfig describes the supported MFA providers along with their configurations.
        "state": "A String", # Describes the state of the MultiFactor Authentication type.
        "totpProviderConfig": { # TotpMFAProviderConfig represents the TOTP based MFA provider. # TOTP MFA provider config for this project.
          "adjacentIntervals": 42, # The allowed number of adjacent intervals that will be used for verification to avoid clock skew.
        },
      },
    ],
    "state": "A String", # Whether MultiFactor Authentication has been enabled for this project.
  },
  "monitoring": { # Configuration related to monitoring project activity. # Configuration related to monitoring project activity.
    "requestLogging": { # Configuration for logging requests made to this project to Stackdriver Logging # Configuration for logging requests made to this project to Stackdriver Logging
      "enabled": True or False, # Whether logging is enabled for this project or not.
    },
  },
  "multiTenant": { # Configuration related to multi-tenant functionality. # Configuration related to multi-tenant functionality.
    "allowTenants": True or False, # Whether this project can have tenants or not.
    "defaultTenantLocation": "A String", # 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.
  },
  "name": "A String", # Output only. The name of the Config resource. Example: "projects/my-awesome-project/config"
  "notification": { # Configuration related to sending notifications to users. # Configuration related to sending notifications to users.
    "defaultLocale": "A String", # Default locale used for email and SMS in IETF BCP 47 format.
    "sendEmail": { # Options for email sending. # Options for email sending.
      "callbackUri": "A String", # action url in email template.
      "changeEmailTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for change email
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "dnsInfo": { # Information of custom domain DNS verification. By default, default_domain will be used. A custom domain can be configured using VerifyCustomDomain. # Information of custom domain DNS verification.
        "customDomain": "A String", # Output only. The applied verified custom domain.
        "customDomainState": "A String", # Output only. The current verification state of the custom domain. The custom domain will only be used once the domain verification is successful.
        "domainVerificationRequestTime": "A String", # Output only. The timestamp of initial request for the current domain verification.
        "pendingCustomDomain": "A String", # Output only. The custom domain that's to be verified.
        "useCustomDomain": True or False, # Whether to use custom domain.
      },
      "legacyResetPasswordTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Reset password email template for legacy Firebase V1 app.
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "method": "A String", # The method used for sending an email.
      "resetPasswordTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for reset password
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "revertSecondFactorAdditionTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for reverting second factor addition emails
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "smtp": { # Configuration for SMTP relay # Use a custom SMTP relay
        "host": "A String", # SMTP relay host
        "password": "A String", # SMTP relay password
        "port": 42, # SMTP relay port
        "securityMode": "A String", # SMTP security mode.
        "senderEmail": "A String", # Sender email for the SMTP relay
        "username": "A String", # SMTP relay username
      },
      "verifyEmailTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for verify email
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
    },
    "sendSms": { # Options for SMS sending. # Options for SMS sending.
      "smsTemplate": { # The template to use when sending an SMS. # Output only. The template to use when sending an SMS.
        "content": "A String", # 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.
      },
      "useDeviceLocale": True or False, # Whether to use the accept_language header for SMS.
    },
  },
  "passwordPolicyConfig": { # The configuration for the password policy on the project. # The project level password policy configuration.
    "forceUpgradeOnSignin": True or False, # Users must have a password compliant with the password policy to sign-in.
    "lastUpdateTime": "A String", # Output only. The last time the password policy on the project was updated.
    "passwordPolicyEnforcementState": "A String", # Which enforcement mode to use for the password policy.
    "passwordPolicyVersions": [ # Must be of length 1. Contains the strength attributes for the password policy.
      { # The strength attributes for the password policy on the project.
        "customStrengthOptions": { # Custom strength options to enforce on user passwords. # The custom strength options enforced by the password policy.
          "containsLowercaseCharacter": True or False, # The password must contain a lower case character.
          "containsNonAlphanumericCharacter": True or False, # The password must contain a non alpha numeric character.
          "containsNumericCharacter": True or False, # The password must contain a number.
          "containsUppercaseCharacter": True or False, # The password must contain an upper case character.
          "maxPasswordLength": 42, # Maximum password length. No default max length
          "minPasswordLength": 42, # Minimum password length. Range from 6 to 30
        },
        "schemaVersion": 42, # Output only. schema version number for the password policy
      },
    ],
  },
  "quota": { # Configuration related to quotas. # Configuration related to quotas.
    "signUpQuotaConfig": { # Temporary quota increase / decrease # Quota for the Signup endpoint, if overwritten. Signup quota is measured in sign ups per project per hour per IP.
      "quota": "A String", # Corresponds to the 'refill_token_count' field in QuotaServer config
      "quotaDuration": "A String", # How long this quota will be active for
      "startTime": "A String", # When this quota will take effect
    },
  },
  "recaptchaConfig": { # The reCAPTCHA Enterprise integration config. # The project-level reCAPTCHA config.
    "emailPasswordEnforcementState": "A String", # The reCAPTCHA config for email/password provider, containing the enforcement status. The email/password provider contains all related user flows protected by reCAPTCHA.
    "managedRules": [ # The managed rules for authentication action based on reCAPTCHA scores. The rules are shared across providers for a given tenant project.
      { # The config for a reCAPTCHA managed rule. Models a single interval [start_score, end_score]. The start_score is implicit. It is either the closest smaller end_score (if one is available) or 0. Intervals in aggregate span [0, 1] without overlapping.
        "action": "A String", # The action taken if the reCAPTCHA score of a request is within the interval [start_score, end_score].
        "endScore": 3.14, # The end score (inclusive) of the score range for an action. Must be a value between 0.0 and 1.0, at 11 discrete values; e.g. 0, 0.1, 0.2, 0.3, ... 0.9, 1.0. A score of 0.0 indicates the riskiest request (likely a bot), whereas 1.0 indicates the safest request (likely a human). See https://cloud.google.com/recaptcha-enterprise/docs/interpret-assessment.
      },
    ],
    "recaptchaKeys": [ # The reCAPTCHA keys.
      { # The reCAPTCHA key config. reCAPTCHA Enterprise offers different keys for different client platforms.
        "key": "A String", # The reCAPTCHA Enterprise key resource name, e.g. "projects/{project}/keys/{key}"
        "type": "A String", # The client's platform type.
      },
    ],
    "useAccountDefender": True or False, # Whether to use the account defender for reCAPTCHA assessment. Defaults to `false`.
  },
  "signIn": { # Configuration related to local sign in methods. # Configuration related to local sign in methods.
    "allowDuplicateEmails": True or False, # Whether to allow more than one account to have the same email.
    "anonymous": { # Configuration options related to authenticating an anonymous user. # Configuration options related to authenticating an anonymous user.
      "enabled": True or False, # Whether anonymous user auth is enabled for the project or not.
    },
    "email": { # Configuration options related to authenticating a user by their email address. # Configuration options related to authenticating a user by their email address.
      "enabled": True or False, # Whether email auth is enabled for the project or not.
      "passwordRequired": True or False, # 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.
    },
    "hashConfig": { # History information of the hash algorithm and key. Different accounts' passwords may be generated by different version. # Output only. Hash config information.
      "algorithm": "A String", # Output only. Different password hash algorithms used in Identity Toolkit.
      "memoryCost": 42, # 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.
      "rounds": 42, # Output only. How many rounds for hash calculation. Used by scrypt and other similar password derivation algorithms.
      "saltSeparator": "A String", # Output only. Non-printable character to be inserted between the salt and plain text password in base64.
      "signerKey": "A String", # Output only. Signer key in base64.
    },
    "phoneNumber": { # Configuration options related to authenticated a user by their phone number. # Configuration options related to authenticated a user by their phone number.
      "enabled": True or False, # Whether phone number auth is enabled for the project or not.
      "testPhoneNumbers": { # A map of that can be used for phone auth testing.
        "a_key": "A String",
      },
    },
  },
  "smsRegionConfig": { # 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. # Configures which regions are enabled for SMS verification code sending.
    "allowByDefault": { # Defines a policy of allowing every region by default and adding disallowed regions to a disallow list. # A policy of allowing SMS to every region by default and adding disallowed regions to a disallow list.
      "disallowedRegions": [ # 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
        "A String",
      ],
    },
    "allowlistOnly": { # Defines a policy of only allowing regions by explicitly adding them to an allowlist. # A policy of only allowing regions by explicitly adding them to an allowlist.
      "allowedRegions": [ # 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
        "A String",
      ],
    },
  },
  "subtype": "A String", # Output only. The subtype of this config.
}

  updateMask: string, The update mask applies to the resource. Fields set in the config but not included in this update mask will be ignored. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Represents an Identity Toolkit project.
  "authorizedDomains": [ # List of domains authorized for OAuth redirects
    "A String",
  ],
  "autodeleteAnonymousUsers": True or False, # Whether anonymous users will be auto-deleted after a period of 30 days.
  "blockingFunctions": { # Configuration related to Blocking Functions. # Configuration related to blocking functions.
    "forwardInboundCredentials": { # Indicates which credentials to pass to the registered Blocking Functions. # The user credentials to include in the JWT payload that is sent to the registered Blocking Functions.
      "accessToken": True or False, # Whether to pass the user's OAuth identity provider's access token.
      "idToken": True or False, # Whether to pass the user's OIDC identity provider's ID token.
      "refreshToken": True or False, # Whether to pass the user's OAuth identity provider's refresh token.
    },
    "triggers": { # Map of Trigger to event type. Key should be one of the supported event types: "beforeCreate", "beforeSignIn"
      "a_key": { # Synchronous Cloud Function with HTTP Trigger
        "functionUri": "A String", # HTTP URI trigger for the Cloud Function.
        "updateTime": "A String", # When the trigger was changed.
      },
    },
  },
  "client": { # Options related to how clients making requests on behalf of a project should be configured. # Options related to how clients making requests on behalf of a project should be configured.
    "apiKey": "A String", # Output only. API key that can be used when making requests for this project.
    "firebaseSubdomain": "A String", # Output only. Firebase subdomain.
    "permissions": { # Configuration related to restricting a user's ability to affect their account. # Configuration related to restricting a user's ability to affect their account.
      "disabledUserDeletion": True or False, # When true, end users cannot delete their account on the associated project through any of our API methods
      "disabledUserSignup": True or False, # When true, end users cannot sign up for a new account on the associated project through any of our API methods
    },
  },
  "emailPrivacyConfig": { # Configuration for settings related to email privacy and public visibility. Settings in this config protect against email enumeration, but may make some trade-offs in user-friendliness. # Configuration for settings related to email privacy and public visibility.
    "enableImprovedEmailPrivacy": True or False, # Migrates the project to a state of improved email privacy. For example certain error codes are more generic to avoid giving away information on whether the account exists. In addition, this disables certain features that as a side-effect allow user enumeration. Enabling this toggle disables the fetchSignInMethodsForEmail functionality and changing the user's email to an unverified email. It is recommended to remove dependence on this functionality and enable this toggle to improve user privacy.
  },
  "mfa": { # Options related to MultiFactor Authentication for the project. # Configuration for this project's multi-factor authentication, including whether it is active and what factors can be used for the second factor
    "enabledProviders": [ # A list of usable second factors for this project.
      "A String",
    ],
    "providerConfigs": [ # A list of usable second factors for this project along with their configurations. This field does not support phone based MFA, for that use the 'enabled_providers' field.
      { # ProviderConfig describes the supported MFA providers along with their configurations.
        "state": "A String", # Describes the state of the MultiFactor Authentication type.
        "totpProviderConfig": { # TotpMFAProviderConfig represents the TOTP based MFA provider. # TOTP MFA provider config for this project.
          "adjacentIntervals": 42, # The allowed number of adjacent intervals that will be used for verification to avoid clock skew.
        },
      },
    ],
    "state": "A String", # Whether MultiFactor Authentication has been enabled for this project.
  },
  "monitoring": { # Configuration related to monitoring project activity. # Configuration related to monitoring project activity.
    "requestLogging": { # Configuration for logging requests made to this project to Stackdriver Logging # Configuration for logging requests made to this project to Stackdriver Logging
      "enabled": True or False, # Whether logging is enabled for this project or not.
    },
  },
  "multiTenant": { # Configuration related to multi-tenant functionality. # Configuration related to multi-tenant functionality.
    "allowTenants": True or False, # Whether this project can have tenants or not.
    "defaultTenantLocation": "A String", # 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.
  },
  "name": "A String", # Output only. The name of the Config resource. Example: "projects/my-awesome-project/config"
  "notification": { # Configuration related to sending notifications to users. # Configuration related to sending notifications to users.
    "defaultLocale": "A String", # Default locale used for email and SMS in IETF BCP 47 format.
    "sendEmail": { # Options for email sending. # Options for email sending.
      "callbackUri": "A String", # action url in email template.
      "changeEmailTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for change email
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "dnsInfo": { # Information of custom domain DNS verification. By default, default_domain will be used. A custom domain can be configured using VerifyCustomDomain. # Information of custom domain DNS verification.
        "customDomain": "A String", # Output only. The applied verified custom domain.
        "customDomainState": "A String", # Output only. The current verification state of the custom domain. The custom domain will only be used once the domain verification is successful.
        "domainVerificationRequestTime": "A String", # Output only. The timestamp of initial request for the current domain verification.
        "pendingCustomDomain": "A String", # Output only. The custom domain that's to be verified.
        "useCustomDomain": True or False, # Whether to use custom domain.
      },
      "legacyResetPasswordTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Reset password email template for legacy Firebase V1 app.
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "method": "A String", # The method used for sending an email.
      "resetPasswordTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for reset password
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "revertSecondFactorAdditionTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for reverting second factor addition emails
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
      "smtp": { # Configuration for SMTP relay # Use a custom SMTP relay
        "host": "A String", # SMTP relay host
        "password": "A String", # SMTP relay password
        "port": 42, # SMTP relay port
        "securityMode": "A String", # SMTP security mode.
        "senderEmail": "A String", # Sender email for the SMTP relay
        "username": "A String", # SMTP relay username
      },
      "verifyEmailTemplate": { # 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 Google Cloud project's display name. %DISPLAY_NAME% - The user's display name. # Email template for verify email
        "body": "A String", # Email body
        "bodyFormat": "A String", # Email body format
        "customized": True or False, # Output only. Whether the body or subject of the email is customized.
        "replyTo": "A String", # Reply-to address
        "senderDisplayName": "A String", # Sender display name
        "senderLocalPart": "A String", # Local part of From address
        "subject": "A String", # Subject of the email
      },
    },
    "sendSms": { # Options for SMS sending. # Options for SMS sending.
      "smsTemplate": { # The template to use when sending an SMS. # Output only. The template to use when sending an SMS.
        "content": "A String", # 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.
      },
      "useDeviceLocale": True or False, # Whether to use the accept_language header for SMS.
    },
  },
  "passwordPolicyConfig": { # The configuration for the password policy on the project. # The project level password policy configuration.
    "forceUpgradeOnSignin": True or False, # Users must have a password compliant with the password policy to sign-in.
    "lastUpdateTime": "A String", # Output only. The last time the password policy on the project was updated.
    "passwordPolicyEnforcementState": "A String", # Which enforcement mode to use for the password policy.
    "passwordPolicyVersions": [ # Must be of length 1. Contains the strength attributes for the password policy.
      { # The strength attributes for the password policy on the project.
        "customStrengthOptions": { # Custom strength options to enforce on user passwords. # The custom strength options enforced by the password policy.
          "containsLowercaseCharacter": True or False, # The password must contain a lower case character.
          "containsNonAlphanumericCharacter": True or False, # The password must contain a non alpha numeric character.
          "containsNumericCharacter": True or False, # The password must contain a number.
          "containsUppercaseCharacter": True or False, # The password must contain an upper case character.
          "maxPasswordLength": 42, # Maximum password length. No default max length
          "minPasswordLength": 42, # Minimum password length. Range from 6 to 30
        },
        "schemaVersion": 42, # Output only. schema version number for the password policy
      },
    ],
  },
  "quota": { # Configuration related to quotas. # Configuration related to quotas.
    "signUpQuotaConfig": { # Temporary quota increase / decrease # Quota for the Signup endpoint, if overwritten. Signup quota is measured in sign ups per project per hour per IP.
      "quota": "A String", # Corresponds to the 'refill_token_count' field in QuotaServer config
      "quotaDuration": "A String", # How long this quota will be active for
      "startTime": "A String", # When this quota will take effect
    },
  },
  "recaptchaConfig": { # The reCAPTCHA Enterprise integration config. # The project-level reCAPTCHA config.
    "emailPasswordEnforcementState": "A String", # The reCAPTCHA config for email/password provider, containing the enforcement status. The email/password provider contains all related user flows protected by reCAPTCHA.
    "managedRules": [ # The managed rules for authentication action based on reCAPTCHA scores. The rules are shared across providers for a given tenant project.
      { # The config for a reCAPTCHA managed rule. Models a single interval [start_score, end_score]. The start_score is implicit. It is either the closest smaller end_score (if one is available) or 0. Intervals in aggregate span [0, 1] without overlapping.
        "action": "A String", # The action taken if the reCAPTCHA score of a request is within the interval [start_score, end_score].
        "endScore": 3.14, # The end score (inclusive) of the score range for an action. Must be a value between 0.0 and 1.0, at 11 discrete values; e.g. 0, 0.1, 0.2, 0.3, ... 0.9, 1.0. A score of 0.0 indicates the riskiest request (likely a bot), whereas 1.0 indicates the safest request (likely a human). See https://cloud.google.com/recaptcha-enterprise/docs/interpret-assessment.
      },
    ],
    "recaptchaKeys": [ # The reCAPTCHA keys.
      { # The reCAPTCHA key config. reCAPTCHA Enterprise offers different keys for different client platforms.
        "key": "A String", # The reCAPTCHA Enterprise key resource name, e.g. "projects/{project}/keys/{key}"
        "type": "A String", # The client's platform type.
      },
    ],
    "useAccountDefender": True or False, # Whether to use the account defender for reCAPTCHA assessment. Defaults to `false`.
  },
  "signIn": { # Configuration related to local sign in methods. # Configuration related to local sign in methods.
    "allowDuplicateEmails": True or False, # Whether to allow more than one account to have the same email.
    "anonymous": { # Configuration options related to authenticating an anonymous user. # Configuration options related to authenticating an anonymous user.
      "enabled": True or False, # Whether anonymous user auth is enabled for the project or not.
    },
    "email": { # Configuration options related to authenticating a user by their email address. # Configuration options related to authenticating a user by their email address.
      "enabled": True or False, # Whether email auth is enabled for the project or not.
      "passwordRequired": True or False, # 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.
    },
    "hashConfig": { # History information of the hash algorithm and key. Different accounts' passwords may be generated by different version. # Output only. Hash config information.
      "algorithm": "A String", # Output only. Different password hash algorithms used in Identity Toolkit.
      "memoryCost": 42, # 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.
      "rounds": 42, # Output only. How many rounds for hash calculation. Used by scrypt and other similar password derivation algorithms.
      "saltSeparator": "A String", # Output only. Non-printable character to be inserted between the salt and plain text password in base64.
      "signerKey": "A String", # Output only. Signer key in base64.
    },
    "phoneNumber": { # Configuration options related to authenticated a user by their phone number. # Configuration options related to authenticated a user by their phone number.
      "enabled": True or False, # Whether phone number auth is enabled for the project or not.
      "testPhoneNumbers": { # A map of that can be used for phone auth testing.
        "a_key": "A String",
      },
    },
  },
  "smsRegionConfig": { # 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. # Configures which regions are enabled for SMS verification code sending.
    "allowByDefault": { # Defines a policy of allowing every region by default and adding disallowed regions to a disallow list. # A policy of allowing SMS to every region by default and adding disallowed regions to a disallow list.
      "disallowedRegions": [ # 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
        "A String",
      ],
    },
    "allowlistOnly": { # Defines a policy of only allowing regions by explicitly adding them to an allowlist. # A policy of only allowing regions by explicitly adding them to an allowlist.
      "allowedRegions": [ # 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
        "A String",
      ],
    },
  },
  "subtype": "A String", # Output only. The subtype of this config.
}