123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- /*! firebase-admin v12.1.1 */
- /*!
- * Copyright 2019 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- import { EmailSignInConfigServerRequest, MultiFactorAuthServerConfig, MultiFactorConfig, EmailSignInProviderConfig, SmsRegionConfig, RecaptchaConfig, PasswordPolicyConfig, PasswordPolicyAuthServerConfig, EmailPrivacyConfig } from './auth-config';
- /**
- * Interface representing the properties to update on the provided tenant.
- */
- export interface UpdateTenantRequest {
- /**
- * The tenant display name.
- */
- displayName?: string;
- /**
- * The email sign in configuration.
- */
- emailSignInConfig?: EmailSignInProviderConfig;
- /**
- * Whether the anonymous provider is enabled.
- */
- anonymousSignInEnabled?: boolean;
- /**
- * The multi-factor auth configuration to update on the tenant.
- */
- multiFactorConfig?: MultiFactorConfig;
- /**
- * The updated map containing the test phone number / code pairs for the tenant.
- * Passing null clears the previously save phone number / code pairs.
- */
- testPhoneNumbers?: {
- [phoneNumber: string]: string;
- } | null;
- /**
- * The SMS configuration to update on the project.
- */
- smsRegionConfig?: SmsRegionConfig;
- /**
- * The reCAPTCHA configuration to update on the tenant.
- * By enabling reCAPTCHA Enterprise integration, you are
- * agreeing to the reCAPTCHA Enterprise
- * {@link https://cloud.google.com/terms/service-terms | Term of Service}.
- */
- recaptchaConfig?: RecaptchaConfig;
- /**
- * The password policy configuration for the tenant
- */
- passwordPolicyConfig?: PasswordPolicyConfig;
- /**
- * The email privacy configuration for the tenant
- */
- emailPrivacyConfig?: EmailPrivacyConfig;
- }
- /**
- * Interface representing the properties to set on a new tenant.
- */
- export type CreateTenantRequest = UpdateTenantRequest;
- /** The corresponding server side representation of a TenantOptions object. */
- export interface TenantOptionsServerRequest extends EmailSignInConfigServerRequest {
- displayName?: string;
- enableAnonymousUser?: boolean;
- mfaConfig?: MultiFactorAuthServerConfig;
- testPhoneNumbers?: {
- [key: string]: string;
- };
- smsRegionConfig?: SmsRegionConfig;
- recaptchaConfig?: RecaptchaConfig;
- passwordPolicyConfig?: PasswordPolicyAuthServerConfig;
- emailPrivacyConfig?: EmailPrivacyConfig;
- }
- /** The tenant server response interface. */
- export interface TenantServerResponse {
- name: string;
- displayName?: string;
- allowPasswordSignup?: boolean;
- enableEmailLinkSignin?: boolean;
- enableAnonymousUser?: boolean;
- mfaConfig?: MultiFactorAuthServerConfig;
- testPhoneNumbers?: {
- [key: string]: string;
- };
- smsRegionConfig?: SmsRegionConfig;
- recaptchaConfig?: RecaptchaConfig;
- passwordPolicyConfig?: PasswordPolicyAuthServerConfig;
- emailPrivacyConfig?: EmailPrivacyConfig;
- }
- /**
- * Represents a tenant configuration.
- *
- * Multi-tenancy support requires Google Cloud's Identity Platform
- * (GCIP). To learn more about GCIP, including pricing and features,
- * see the {@link https://cloud.google.com/identity-platform | GCIP documentation}.
- *
- * Before multi-tenancy can be used on a Google Cloud Identity Platform project,
- * tenants must be allowed on that project via the Cloud Console UI.
- *
- * A tenant configuration provides information such as the display name, tenant
- * identifier and email authentication configuration.
- * For OIDC/SAML provider configuration management, `TenantAwareAuth` instances should
- * be used instead of a `Tenant` to retrieve the list of configured IdPs on a tenant.
- * When configuring these providers, note that tenants will inherit
- * whitelisted domains and authenticated redirect URIs of their parent project.
- *
- * All other settings of a tenant will also be inherited. These will need to be managed
- * from the Cloud Console UI.
- */
- export declare class Tenant {
- /**
- * The tenant identifier.
- */
- readonly tenantId: string;
- /**
- * The tenant display name.
- */
- readonly displayName?: string;
- readonly anonymousSignInEnabled: boolean;
- /**
- * The map containing the test phone number / code pairs for the tenant.
- */
- readonly testPhoneNumbers?: {
- [phoneNumber: string]: string;
- };
- private readonly emailSignInConfig_?;
- private readonly multiFactorConfig_?;
- /**
- * The map conatining the reCAPTCHA config.
- * By enabling reCAPTCHA Enterprise Integration you are
- * agreeing to reCAPTCHA Enterprise
- * {@link https://cloud.google.com/terms/service-terms | Term of Service}.
- */
- private readonly recaptchaConfig_?;
- /**
- * The SMS Regions Config to update a tenant.
- * Configures the regions where users are allowed to send verification SMS.
- * This is based on the calling code of the destination phone number.
- */
- readonly smsRegionConfig?: SmsRegionConfig;
- /**
- * The password policy configuration for the tenant
- */
- readonly passwordPolicyConfig?: PasswordPolicyConfig;
- /**
- * The email privacy configuration for the tenant
- */
- readonly emailPrivacyConfig?: EmailPrivacyConfig;
- /**
- * Validates a tenant options object. Throws an error on failure.
- *
- * @param request - The tenant options object to validate.
- * @param createRequest - Whether this is a create request.
- */
- private static validate;
- /**
- * The email sign in provider configuration.
- */
- get emailSignInConfig(): EmailSignInProviderConfig | undefined;
- /**
- * The multi-factor auth configuration on the current tenant.
- */
- get multiFactorConfig(): MultiFactorConfig | undefined;
- /**
- * The recaptcha config auth configuration of the current tenant.
- */
- get recaptchaConfig(): RecaptchaConfig | undefined;
- /**
- * Returns a JSON-serializable representation of this object.
- *
- * @returns A JSON-serializable representation of this object.
- */
- toJSON(): object;
- }
|