Identity Toolkit API . projects

Instance Methods

defaultSupportedIdpConfigs()

Returns the defaultSupportedIdpConfigs 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
    },
  },
  "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",
    ],
    "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 GCP 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 GCP 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 GCP 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 GCP 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 GCP 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.
    },
  },
  "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 affect
    },
  },
  "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",
      },
    },
  },
  "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
    },
  },
  "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",
    ],
    "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 GCP 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 GCP 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 GCP 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 GCP 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 GCP 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.
    },
  },
  "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 affect
    },
  },
  "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",
      },
    },
  },
  "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
    },
  },
  "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",
    ],
    "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 GCP 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 GCP 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 GCP 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 GCP 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 GCP 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.
    },
  },
  "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 affect
    },
  },
  "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",
      },
    },
  },
  "subtype": "A String", # Output only. The subtype of this config.
}