diff --git a/management/management.gen.go b/management/management.gen.go index d2aaa6a7..aba8e753 100644 --- a/management/management.gen.go +++ b/management/management.gen.go @@ -11456,6 +11456,14 @@ func (t *Tenant) GetMTLS() *TenantMTLSConfiguration { return t.MTLS } +// GetOIDCLogout returns the OIDCLogout field. +func (t *Tenant) GetOIDCLogout() *TenantOIDCLogout { + if t == nil { + return nil + } + return t.OIDCLogout +} + // GetPictureURL returns the PictureURL field if it's non-nil, zero value otherwise. func (t *Tenant) GetPictureURL() string { if t == nil || t.PictureURL == nil { @@ -11875,6 +11883,19 @@ func (t *TenantMTLSConfiguration) String() string { return Stringify(t) } +// GetOIDCResourceProviderLogoutEndSessionEndpointDiscovery returns the OIDCResourceProviderLogoutEndSessionEndpointDiscovery field if it's non-nil, zero value otherwise. +func (t *TenantOIDCLogout) GetOIDCResourceProviderLogoutEndSessionEndpointDiscovery() bool { + if t == nil || t.OIDCResourceProviderLogoutEndSessionEndpointDiscovery == nil { + return false + } + return *t.OIDCResourceProviderLogoutEndSessionEndpointDiscovery +} + +// String returns a string representation of TenantOIDCLogout. +func (t *TenantOIDCLogout) String() string { + return Stringify(t) +} + // GetMode returns the Mode field if it's non-nil, zero value otherwise. func (t *TenantSessionCookie) GetMode() string { if t == nil || t.Mode == nil { diff --git a/management/management.gen_test.go b/management/management.gen_test.go index 8d0ed562..fa54ed51 100644 --- a/management/management.gen_test.go +++ b/management/management.gen_test.go @@ -14390,6 +14390,13 @@ func TestTenant_GetMTLS(tt *testing.T) { t.GetMTLS() } +func TestTenant_GetOIDCLogout(tt *testing.T) { + t := &Tenant{} + t.GetOIDCLogout() + t = nil + t.GetOIDCLogout() +} + func TestTenant_GetPictureURL(tt *testing.T) { var zeroValue string t := &Tenant{PictureURL: &zeroValue} @@ -14917,6 +14924,24 @@ func TestTenantMTLSConfiguration_String(t *testing.T) { } } +func TestTenantOIDCLogout_GetOIDCResourceProviderLogoutEndSessionEndpointDiscovery(tt *testing.T) { + var zeroValue bool + t := &TenantOIDCLogout{OIDCResourceProviderLogoutEndSessionEndpointDiscovery: &zeroValue} + t.GetOIDCResourceProviderLogoutEndSessionEndpointDiscovery() + t = &TenantOIDCLogout{} + t.GetOIDCResourceProviderLogoutEndSessionEndpointDiscovery() + t = nil + t.GetOIDCResourceProviderLogoutEndSessionEndpointDiscovery() +} + +func TestTenantOIDCLogout_String(t *testing.T) { + var rawJSON json.RawMessage + v := &TenantOIDCLogout{} + if err := json.Unmarshal([]byte(v.String()), &rawJSON); err != nil { + t.Errorf("failed to produce a valid json") + } +} + func TestTenantSessionCookie_GetMode(tt *testing.T) { var zeroValue string t := &TenantSessionCookie{Mode: &zeroValue} diff --git a/management/tenant.go b/management/tenant.go index 924943a7..5d55eb81 100644 --- a/management/tenant.go +++ b/management/tenant.go @@ -82,6 +82,9 @@ type Tenant struct { // Sessions related settings for the tenant. Sessions *TenantSessions `json:"sessions,omitempty"` + // OIDC logout related settings for the tenant. + OIDCLogout *TenantOIDCLogout `json:"oidc_logout,omitempty"` + // If `true`, allows accepting an organization name or organization ID on auth endpoints. AllowOrgNameInAuthAPI *bool `json:"allow_organization_name_in_authentication_api,omitempty"` @@ -404,6 +407,12 @@ type TenantSessions struct { OIDCLogoutPromptEnabled *bool `json:"oidc_logout_prompt_enabled,omitempty"` } +// TenantOIDCLogout manages OIDC logout related settings for the tenant. +type TenantOIDCLogout struct { + // Enable the end_session_endpoint URL in the .well-known discovery configuration. + OIDCResourceProviderLogoutEndSessionEndpointDiscovery *bool `json:"rp_logout_end_session_endpoint_discovery,omitempty"` +} + // TenantManager manages Auth0 Tenant resources. type TenantManager manager diff --git a/management/tenant_test.go b/management/tenant_test.go index dd82a39d..32e3cd96 100644 --- a/management/tenant_test.go +++ b/management/tenant_test.go @@ -42,6 +42,9 @@ func TestTenantManager(t *testing.T) { Sessions: &TenantSessions{ OIDCLogoutPromptEnabled: auth0.Bool(false), }, + OIDCLogout: &TenantOIDCLogout{ + OIDCResourceProviderLogoutEndSessionEndpointDiscovery: auth0.Bool(true), + }, ACRValuesSupported: &[]string{"foo", "bar"}, PushedAuthorizationRequestsSupported: auth0.Bool(true), MTLS: &TenantMTLSConfiguration{ diff --git a/test/data/recordings/TestTenantManager.yaml b/test/data/recordings/TestTenantManager.yaml index 47000fce..8c51ba0e 100644 --- a/test/data/recordings/TestTenantManager.yaml +++ b/test/data/recordings/TestTenantManager.yaml @@ -29,7 +29,7 @@ interactions: trailer: {} content_length: -1 uncompressed: true - body: '{"allowed_logout_urls":[],"acr_values_supported":[],"default_redirection_uri":"https://example.com/login","enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true}},"session_cookie":{"mode":"non-persistent"},"sandbox_versions_available":["18","16","12"]}' + body: '{"allowed_logout_urls":[],"acr_values_supported":[],"default_redirection_uri":"https://example.com/login","enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true}},"session_cookie":{"mode":"non-persistent"},"sandbox_versions_available":["18","16","12"]}' headers: Content-Type: - application/json; charset=utf-8 @@ -48,7 +48,7 @@ interactions: remote_addr: "" request_uri: "" body: | - {"friendly_name":"My Example Tenant","support_email":"support@example.com","support_url":"https://support.example.com","allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"session_lifetime":1080,"idle_session_lifetime":720,"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"session_cookie":{"mode":"non-persistent"},"sessions":{"oidc_logout_prompt_enabled":false},"acr_values_supported":["foo","bar"],"mtls":{"enable_endpoint_aliases":true},"pushed_authorization_requests_supported":true} + {"friendly_name":"My Example Tenant","support_email":"support@example.com","support_url":"https://support.example.com","allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"session_lifetime":1080,"idle_session_lifetime":720,"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"session_cookie":{"mode":"non-persistent"},"sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":true},"acr_values_supported":["foo","bar"],"mtls":{"enable_endpoint_aliases":true},"pushed_authorization_requests_supported":true} form: {} headers: Content-Type: @@ -65,7 +65,7 @@ interactions: trailer: {} content_length: -1 uncompressed: true - body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_sso":true,"enforce_client_authentication_on_passwordless_start":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true},"is_custom_template_set":true,"identifier_first":false,"webauthn_platform_first_factor":false},"session_cookie":{"mode":"non-persistent"}}' + body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_sso":true,"enforce_client_authentication_on_passwordless_start":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":true},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true},"is_custom_template_set":true,"identifier_first":false,"webauthn_platform_first_factor":false},"session_cookie":{"mode":"non-persistent"}}' headers: Content-Type: - application/json; charset=utf-8 @@ -100,7 +100,7 @@ interactions: trailer: {} content_length: -1 uncompressed: true - body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true}},"session_cookie":{"mode":"non-persistent"},"sandbox_versions_available":["18","16","12"]}' + body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":true},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true}},"session_cookie":{"mode":"non-persistent"},"sandbox_versions_available":["18","16","12"]}' headers: Content-Type: - application/json; charset=utf-8 @@ -136,7 +136,7 @@ interactions: trailer: {} content_length: -1 uncompressed: true - body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_sso":true,"enforce_client_authentication_on_passwordless_start":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true},"is_custom_template_set":true,"identifier_first":false,"webauthn_platform_first_factor":false},"session_cookie":{"mode":"non-persistent"}}' + body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_sso":true,"enforce_client_authentication_on_passwordless_start":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":true},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true},"is_custom_template_set":true,"identifier_first":false,"webauthn_platform_first_factor":false},"session_cookie":{"mode":"non-persistent"}}' headers: Content-Type: - application/json; charset=utf-8 @@ -171,7 +171,7 @@ interactions: trailer: {} content_length: -1 uncompressed: true - body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true}},"session_cookie":{"mode":"non-persistent"},"sandbox_versions_available":["18","16","12"]}' + body: '{"allowed_logout_urls":["https://app.com/logout","http://localhost/logout"],"acr_values_supported":["foo","bar"],"default_redirection_uri":"https://example.com/login","enabled_locales":["fr","en","es"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":true},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true}},"session_cookie":{"mode":"non-persistent"},"sandbox_versions_available":["18","16","12"]}' headers: Content-Type: - application/json; charset=utf-8 @@ -190,7 +190,7 @@ interactions: remote_addr: "" request_uri: "" body: | - {"guardian_mfa_page":{"enabled":true,"html":"\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n \u003ctitle\u003e2nd Factor Authentication\u003c/title\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\" /\u003e\n \u003cmeta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"\u003e\n \u003cstyle type=\"text/css\"\u003e\n\n html, body { padding: 0; margin: 0; }\n\n .table {\n display: table;\n position: absolute;\n height: 100%;\n width: 100%;\n background-color: {{ pageBackgroundColor | default: '#2b2b33' }};\n }\n\n .cell {\n display: table-cell;\n vertical-align: middle;\n }\n\n .content {\n padding: 25px 0px 25px 0px;\n margin-left: auto;\n margin-right: auto;\n width: 280px; /* login widget width */\n }\n\n \u003c/style\u003e\n\u003c/head\u003e\n\n\u003cbody\u003e\n\n \u003cdiv class=\"table\"\u003e\n \u003cdiv class=\"cell\"\u003e\n \u003cdiv class=\"content\"\u003e\n \u003c!-- WIDGET --\u003e\n \u003cdiv class=\"js-mfa-container mfa-container\" id=\"container\"\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003cscript src=\"//cdn.auth0.com/js/mfa-widget/mfa-widget-1.8.min.js\"\u003e\u003c/script\u003e\n\n \u003cscript\u003e\n (function() {\n return new Auth0MFAWidget({\n container: \"container\",\n\n theme: {\n icon: \"{{ iconUrl | default: '//cdn.auth0.com/styleguide/1.0.0/img/badge.png' }}\",\n primaryColor: \"{{ primaryColor | default: '#ea5323' }}\"\n },\n\n requesterErrors: [\n {% for error in errors %}\n { message: \"{{ error.message }}\", errorCode: \"{{ error.code }}\" }\n {% endfor %}\n ],\n\n mfaServerUrl: \"{{ mfaServerUrl }}\",\n {% if ticket %}\n ticket: \"{{ ticket }}\",\n {% else %}\n requestToken: \"{{ requestToken }}\",\n {% endif %}\n postActionURL: \"{{ postActionURL }}\",\n\n userData: {\n userId: \"{{ userData.userId }}\",\n email: \"{{ userData.email }}\",\n friendlyUserId: \"{{ userData.friendlyUserId }}\",\n tenant: \"{{ userData.tenant }}\",\n {% if userData.tenantFriendlyName %}\n tenantFriendlyName: \"{{ userData.tenantFriendlyName }}\"\n {% endif %}\n },\n globalTrackingId: \"{{ globalTrackingId }}\",\n {% if allowRememberBrowser %}allowRememberBrowser: {{ allowRememberBrowser }}, {% endif %}\n {% if stateCheckingMechanism %}stateCheckingMechanism: \"{{ stateCheckingMechanism }}\", {% endif %}\n });\n })();\n \u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n"},"friendly_name":"My Example Tenant","support_email":"support@example.com","support_url":"https://support.example.com","allowed_logout_urls":[],"session_lifetime":1080,"idle_session_lifetime":720,"sandbox_version":"12","default_redirection_uri":"https://example.com/login","enabled_locales":["en"],"session_cookie":{"mode":"non-persistent"},"sessions":{"oidc_logout_prompt_enabled":false},"customize_mfa_in_postlogin_action":true,"acr_values_supported":[],"mtls":{"enable_endpoint_aliases":true},"pushed_authorization_requests_supported":true} + {"guardian_mfa_page":{"enabled":true,"html":"\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n \u003ctitle\u003e2nd Factor Authentication\u003c/title\u003e\n \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\" /\u003e\n \u003cmeta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\"\u003e\n \u003cstyle type=\"text/css\"\u003e\n\n html, body { padding: 0; margin: 0; }\n\n .table {\n display: table;\n position: absolute;\n height: 100%;\n width: 100%;\n background-color: {{ pageBackgroundColor | default: '#2b2b33' }};\n }\n\n .cell {\n display: table-cell;\n vertical-align: middle;\n }\n\n .content {\n padding: 25px 0px 25px 0px;\n margin-left: auto;\n margin-right: auto;\n width: 280px; /* login widget width */\n }\n\n \u003c/style\u003e\n\u003c/head\u003e\n\n\u003cbody\u003e\n\n \u003cdiv class=\"table\"\u003e\n \u003cdiv class=\"cell\"\u003e\n \u003cdiv class=\"content\"\u003e\n \u003c!-- WIDGET --\u003e\n \u003cdiv class=\"js-mfa-container mfa-container\" id=\"container\"\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n \u003c/div\u003e\n\n \u003cscript src=\"//cdn.auth0.com/js/mfa-widget/mfa-widget-1.8.min.js\"\u003e\u003c/script\u003e\n\n \u003cscript\u003e\n (function() {\n return new Auth0MFAWidget({\n container: \"container\",\n\n theme: {\n icon: \"{{ iconUrl | default: '//cdn.auth0.com/styleguide/1.0.0/img/badge.png' }}\",\n primaryColor: \"{{ primaryColor | default: '#ea5323' }}\"\n },\n\n requesterErrors: [\n {% for error in errors %}\n { message: \"{{ error.message }}\", errorCode: \"{{ error.code }}\" }\n {% endfor %}\n ],\n\n mfaServerUrl: \"{{ mfaServerUrl }}\",\n {% if ticket %}\n ticket: \"{{ ticket }}\",\n {% else %}\n requestToken: \"{{ requestToken }}\",\n {% endif %}\n postActionURL: \"{{ postActionURL }}\",\n\n userData: {\n userId: \"{{ userData.userId }}\",\n email: \"{{ userData.email }}\",\n friendlyUserId: \"{{ userData.friendlyUserId }}\",\n tenant: \"{{ userData.tenant }}\",\n {% if userData.tenantFriendlyName %}\n tenantFriendlyName: \"{{ userData.tenantFriendlyName }}\"\n {% endif %}\n },\n globalTrackingId: \"{{ globalTrackingId }}\",\n {% if allowRememberBrowser %}allowRememberBrowser: {{ allowRememberBrowser }}, {% endif %}\n {% if stateCheckingMechanism %}stateCheckingMechanism: \"{{ stateCheckingMechanism }}\", {% endif %}\n });\n })();\n \u003c/script\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n"},"friendly_name":"My Example Tenant","support_email":"support@example.com","support_url":"https://support.example.com","allowed_logout_urls":[],"session_lifetime":1080,"idle_session_lifetime":720,"sandbox_version":"12","default_redirection_uri":"https://example.com/login","enabled_locales":["en"],"session_cookie":{"mode":"non-persistent"},"sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":false},"customize_mfa_in_postlogin_action":true,"acr_values_supported":[],"mtls":{"enable_endpoint_aliases":true},"pushed_authorization_requests_supported":true} form: {} headers: Content-Type: @@ -207,7 +207,7 @@ interactions: trailer: {} content_length: -1 uncompressed: true - body: '{"allowed_logout_urls":[],"acr_values_supported":[],"default_redirection_uri":"https://example.com/login","enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_sso":true,"enforce_client_authentication_on_passwordless_start":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true},"is_custom_template_set":true,"identifier_first":false,"webauthn_platform_first_factor":false},"session_cookie":{"mode":"non-persistent"}}' + body: '{"allowed_logout_urls":[],"acr_values_supported":[],"default_redirection_uri":"https://example.com/login","enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"cannot_change_enforce_client_authentication_on_passwordless_start":true,"disable_impersonation":true,"enable_sso":true,"enforce_client_authentication_on_passwordless_start":true,"new_universal_login_experience_enabled":true,"universal_login":true,"revoke_refresh_token_grant":false,"mfa_show_factor_list_on_enrollment":false,"remove_alg_from_jwks":true,"disable_clickjack_protection_headers":false},"friendly_name":"My Example Tenant","guardian_mfa_page":{"enabled":true,"html":"\n\n\n 2nd Factor Authentication\n \n \n \n\n\n\n\n
\n
\n
\n \n
\n
\n
\n
\n\n \n\n \n\n\n"},"idle_session_lifetime":720,"sandbox_version":"12","session_lifetime":1080,"support_email":"support@example.com","support_url":"https://support.example.com","sessions":{"oidc_logout_prompt_enabled":false},"oidc_logout":{"rp_logout_end_session_endpoint_discovery":false},"customize_mfa_in_postlogin_action":true,"pushed_authorization_requests_supported":true,"mtls":{"enable_endpoint_aliases":true},"universal_login":{"passwordless":{"allow_magiclink_verify_without_session":true},"is_custom_template_set":true,"identifier_first":false,"webauthn_platform_first_factor":false},"session_cookie":{"mode":"non-persistent"}}' headers: Content-Type: - application/json; charset=utf-8