Hosted sign-in page configuration interfaces

This article describes the UiConfig, ExtendedTenantUiConfig, and SignInOption interfaces that are available when creating a sign-in page for Identity-Aware Proxy using Cloud Run.

UiConfig

interfaceUiConfig{
//TheAPIkeyforthecurrentIdentityPlatformproject.
apiKeyValue:{
//ProvisionedbyIdentityPlatform.
authDomain?:string;
//Thedisplaymodefortenantselectionflow.Thiscouldbe'optionFirst'
//or'identifierFirst'.Thedefaultis'optionFirst'.
displayMode:string;
//Thetenantselectionscreentitle.Bydefault,thisistheprojectID.
selectTenantUiTitle?:string;
//ThetenantselectionscreenlogointheformofanHTTPSURL.Bydefault,
//nologoisprovided.
selectTenantUiLogo?:string;
//TheCSSstylesheetusedtooverridethedefaultCSSstylesintheformof
//anHTTPSURL.ThehostedUIusesasupersetoftheFirebaseUI-webCSS
//styles.Bydefault,nocustomstylesheetisprovided.
styleUrl?:string;
//Thetenantsconfigurations.
tenants:{
//Eachtenantconfigurationiskeyedbythetenantidentifier.
tenantIdValue:ExtendedTenantUiConfig;
};
//TheapplicationtermsofserviceURLintheformofanHTTPSURL.
//Bydefault,thisisempty.
tosUrl?:string,
//TheapplicationprivacypolicyURLintheformofanHTTPSURL.
//Bydefault,thisisempty.
privacyPolicyUrl?:string,
};
}

ExtendedTenantUiConfig

interfaceExtendedTenantUiConfig{
//Theoptionaltenantfulllabel.Thisisusedforthe"Signinwithtenant"
//buttonlabel.
//Whennotprovided,"Signinto${displayName}"isusedasthefulllabel.
fullLabel?:string;
//Thetenantdisplayname.Thisisusedforthe"Signinwithtenant"label.
//Fortenants,thedefaultisthetenantdisplayname.Forprojects-level
//identityproviders,thedefaultistheprojectID.
displayName:string;
//ThetenanticonURLintheformofanHTTPSURL.Thisisusedforthe
//"Signinwithtenant"buttoniconURL.Thedefaultisaplaceholdericon.
iconUrl:string;
//ThetenantlogoURLintheformofanHTTPSURL.Thisisdisplayedafter
//theuserselectsthetenantandispresentedwiththeidentityproviders
//associatedwiththetenant.Bydefault,nologoURLisprovided.
logoUrl?:string;
//Thetenantbuttoncolor.Thisisusedforthe"signinwithtenant"button.
//Adefaultcolorisusedforalltenants.
buttonColor:string;
//Thesign-inoptionsassociatedwiththetenant.Thisisauto-populated
//usingtheenabledprovidersforthecurrenttenant.
signInOptions:(SignInOption|string)[];
//ThetermsofserviceURLassociatedwiththecurrenttenantintheform
//ofanHTTPSURL.Emptybydefault.
tosUrl?:string;
//TheprivacypolicyURLassociatedwiththecurrenttenantintheformof
//anHTTPSURL.Emptybydefault.
privacyPolicyUrl?:string;
//ForsingleproviderswithsignInFlowsetto'redirect',settingthisto
//'true'willresultwitharedirecttotheproviderwithoutuser
//interaction.Settotruebydefault.
immediateFederatedRedirect?:boolean;
//Whethertousepopuporredirectflowsforfederatedproviders.
//Redirectflowsareusedbydefault.
signInFlow?:'redirect'|'popup';
//SetstheadminRestrictedOperationconfigurationforprovidersincluding
//federated,email/password,emaillinkandphonenumber.
adminRestrictedOperation?:{
//Specifieswhethertoprovideadditionalinstructionstotheenduserwhen
//ausertriestocreateanewuseraccountandtheauthorizationserver
//blockstheoperation.
status:boolean;
//Theoptionalsiteadministratoremailtocontactforaccesswhensignup
//isdisabled.Forexample:`admin@example.com`.
adminEmail?:string;
//Theoptionalhelplinktoprovideinformationonhowtogetaccesstothe
//sitewhensignupisdisabled.
//Forexample:`https://www.example.com/trouble_signing_in`.
helpLink?:string;
}
}

SignInOption

interfaceSignInOption{
// The provider identifier, such as facebook.com or saml.my-saml-provider-id.
provider:string;
// The provider label name.
providerName?:string;
// The full label of the button. Instead of "Sign in with $providerName",
// this button label will be used. Default: Sign in with $providerName
fullLabel?:string;
// For identifier first flows, this is the user email domain: tenant1.com
hd?:string;
// The button color, such as "#ff00ff".
buttonColor?:string;
// The button icon URL in the form of an HTTPS URL.
iconUrl?:string;
// Additional OAuth scopes to request for OAuth providers.
scopes?:string[];
// Additional custom OAuth parameters to set on sign-in.
// For example, setting {auth_type: 'reauthenticate'} will
// require password re-entry on Facebook re-authentication.
customParameters?:{[key:string]:any};
// In the "identifierFirst' flow, a login hint key makes it possible
// to pass the email to the provider to sign in with. This is useful when a
// user has multiple accounts. For many providers, this is "login_hint".
loginHintKey?:string;
// Whether to require display name when creating an email and password
// account. True by default.
requireDisplayName?:boolean;
// reCAPTCHA customization for phone providers.
recaptchaParameters?:{
// The type of the reCAPTCHA ("audio" or "image")
type?:string;
// Whether the reCAPTCHA is invisible or not. Valid options are
// "invisible", "normal", and "compact".
size?:string;
// For invisible reCAPTCHAs, this defines how the invisible reCAPTCHA badge
// is displayed (for example, "bottomleft", "bottomright" or "inline").
badge?:string;
};
// The default country for phone providers.
defaultCountry?:string;
// Sets the whitelisted countries for phone providers. Accepts either ISO
// (alpha-2) or E164 formatted country codes. For example: ['US', '+44']
whitelistedCountries?:string[];
// Sets the blacklisted countries for phone providers. Accepts either ISO
// (alpha-2) or E164 formatted country codes. For example: ['US', '+44']
blacklistedCountries?:string[];
// Sets the disableSignUp config for email/password or email link sign in
// method.
disableSignUp?:{
// Whether to disable users from signing up with email providers
// (email/password or email link).
status:boolean;
// The optional site administrator email to contact for access when sign
// up is disabled.
// For example: `admin@example.com`.
adminEmail?:string;
// The optional help link to provide information on how to get access to
// the site when sign up is disabled.
// For example: `https://www.example.com/trouble_signing_in`.
helpLink?:string;
}
}

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026年01月02日 UTC.