diff --git a/provider/cmd/pulumi-resource-auth0/schema.json b/provider/cmd/pulumi-resource-auth0/schema.json index a0aa4e2b..2d6be803 100644 --- a/provider/cmd/pulumi-resource-auth0/schema.json +++ b/provider/cmd/pulumi-resource-auth0/schema.json @@ -9461,7 +9461,7 @@ } }, "auth0:index/connection:Connection": { - "description": "With Auth0, you can define sources of users, otherwise known as connections, which may include identity providers (such as Google or LinkedIn), databases, or passwordless authentication methods. This resource allows you to configure and manage connections to be used with your clients and users.\n\n\u003e The Auth0 dashboard displays only one connection per social provider. Although the Auth0 Management API allows the\ncreation of multiple connections per strategy, the additional connections may not be visible in the Auth0 dashboard.\n\n\n## Example Usage\n\n### Auth0 Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Auth0 connection.\nconst myConnection = new auth0.Connection(\"my_connection\", {\n name: \"Example-Connection\",\n isDomainConnection: true,\n strategy: \"auth0\",\n metadata: {\n key1: \"foo\",\n key2: \"bar\",\n },\n options: {\n passwordPolicy: \"excellent\",\n bruteForceProtection: true,\n strategyVersion: 2,\n enabledDatabaseCustomization: true,\n importMode: false,\n requiresUsername: true,\n disableSignup: false,\n customScripts: {\n get_user: ` function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n`,\n },\n configuration: {\n foo: \"bar\",\n bar: \"baz\",\n },\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n passwordHistories: [{\n enable: true,\n size: 3,\n }],\n passwordNoPersonalInfo: {\n enable: true,\n },\n passwordDictionary: {\n enable: true,\n dictionaries: [\n \"password\",\n \"admin\",\n \"1234\",\n ],\n },\n passwordComplexityOptions: {\n minLength: 12,\n },\n validation: {\n username: {\n min: 10,\n max: 40,\n },\n },\n mfa: {\n active: true,\n returnEnrollSettings: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of an Auth0 connection.\nmy_connection = auth0.Connection(\"my_connection\",\n name=\"Example-Connection\",\n is_domain_connection=True,\n strategy=\"auth0\",\n metadata={\n \"key1\": \"foo\",\n \"key2\": \"bar\",\n },\n options={\n \"password_policy\": \"excellent\",\n \"brute_force_protection\": True,\n \"strategy_version\": 2,\n \"enabled_database_customization\": True,\n \"import_mode\": False,\n \"requires_username\": True,\n \"disable_signup\": False,\n \"custom_scripts\": {\n \"get_user\": \"\"\" function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n\"\"\",\n },\n \"configuration\": {\n \"foo\": \"bar\",\n \"bar\": \"baz\",\n },\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"password_histories\": [{\n \"enable\": True,\n \"size\": 3,\n }],\n \"password_no_personal_info\": {\n \"enable\": True,\n },\n \"password_dictionary\": {\n \"enable\": True,\n \"dictionaries\": [\n \"password\",\n \"admin\",\n \"1234\",\n ],\n },\n \"password_complexity_options\": {\n \"min_length\": 12,\n },\n \"validation\": {\n \"username\": {\n \"min\": 10,\n \"max\": 40,\n },\n },\n \"mfa\": {\n \"active\": True,\n \"return_enroll_settings\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Auth0 connection.\n var myConnection = new Auth0.Connection(\"my_connection\", new()\n {\n Name = \"Example-Connection\",\n IsDomainConnection = true,\n Strategy = \"auth0\",\n Metadata = \n {\n { \"key1\", \"foo\" },\n { \"key2\", \"bar\" },\n },\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n PasswordPolicy = \"excellent\",\n BruteForceProtection = true,\n StrategyVersion = 2,\n EnabledDatabaseCustomization = true,\n ImportMode = false,\n RequiresUsername = true,\n DisableSignup = false,\n CustomScripts = \n {\n { \"get_user\", @\" function getByEmail(email, callback) {\n return callback(new Error(\"\"Whoops!\"\"));\n }\n\" },\n },\n Configuration = \n {\n { \"foo\", \"bar\" },\n { \"bar\", \"baz\" },\n },\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n PasswordHistories = new[]\n {\n new Auth0.Inputs.ConnectionOptionsPasswordHistoryArgs\n {\n Enable = true,\n Size = 3,\n },\n },\n PasswordNoPersonalInfo = new Auth0.Inputs.ConnectionOptionsPasswordNoPersonalInfoArgs\n {\n Enable = true,\n },\n PasswordDictionary = new Auth0.Inputs.ConnectionOptionsPasswordDictionaryArgs\n {\n Enable = true,\n Dictionaries = new[]\n {\n \"password\",\n \"admin\",\n \"1234\",\n },\n },\n PasswordComplexityOptions = new Auth0.Inputs.ConnectionOptionsPasswordComplexityOptionsArgs\n {\n MinLength = 12,\n },\n Validation = new Auth0.Inputs.ConnectionOptionsValidationArgs\n {\n Username = new Auth0.Inputs.ConnectionOptionsValidationUsernameArgs\n {\n Min = 10,\n Max = 40,\n },\n },\n Mfa = new Auth0.Inputs.ConnectionOptionsMfaArgs\n {\n Active = true,\n ReturnEnrollSettings = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// This is an example of an Auth0 connection.\n\t\t_, err = auth0.NewConnection(ctx, \"my_connection\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Example-Connection\"),\n\t\t\tIsDomainConnection: pulumi.Bool(true),\n\t\t\tStrategy: pulumi.String(\"auth0\"),\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"foo\"),\n\t\t\t\t\"key2\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tPasswordPolicy: pulumi.String(\"excellent\"),\n\t\t\t\tBruteForceProtection: pulumi.Bool(true),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tEnabledDatabaseCustomization: pulumi.Bool(true),\n\t\t\t\tImportMode: pulumi.Bool(false),\n\t\t\t\tRequiresUsername: pulumi.Bool(true),\n\t\t\t\tDisableSignup: pulumi.Bool(false),\n\t\t\t\tCustomScripts: pulumi.StringMap{\n\t\t\t\t\t\"get_user\": pulumi.String(\" function getByEmail(email, callback) {\\n return callback(new Error(\\\"Whoops!\\\"));\\n }\\n\"),\n\t\t\t\t},\n\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\t\"bar\": pulumi.String(\"baz\"),\n\t\t\t\t},\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tPasswordHistories: auth0.ConnectionOptionsPasswordHistoryArray{\n\t\t\t\t\t\u0026auth0.ConnectionOptionsPasswordHistoryArgs{\n\t\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\tSize: pulumi.Int(3),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPasswordNoPersonalInfo: \u0026auth0.ConnectionOptionsPasswordNoPersonalInfoArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPasswordDictionary: \u0026auth0.ConnectionOptionsPasswordDictionaryArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\tDictionaries: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"password\"),\n\t\t\t\t\t\tpulumi.String(\"admin\"),\n\t\t\t\t\t\tpulumi.String(\"1234\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPasswordComplexityOptions: \u0026auth0.ConnectionOptionsPasswordComplexityOptionsArgs{\n\t\t\t\t\tMinLength: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t\tValidation: \u0026auth0.ConnectionOptionsValidationArgs{\n\t\t\t\t\tUsername: \u0026auth0.ConnectionOptionsValidationUsernameArgs{\n\t\t\t\t\t\tMin: pulumi.Int(10),\n\t\t\t\t\t\tMax: pulumi.Int(40),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMfa: \u0026auth0.ConnectionOptionsMfaArgs{\n\t\t\t\t\tActive: pulumi.Bool(true),\n\t\t\t\t\tReturnEnrollSettings: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsPasswordNoPersonalInfoArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsPasswordDictionaryArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsPasswordComplexityOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsValidationArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsValidationUsernameArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsMfaArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Auth0 connection.\n var myConnection = new Connection(\"myConnection\", ConnectionArgs.builder()\n .name(\"Example-Connection\")\n .isDomainConnection(true)\n .strategy(\"auth0\")\n .metadata(Map.ofEntries(\n Map.entry(\"key1\", \"foo\"),\n Map.entry(\"key2\", \"bar\")\n ))\n .options(ConnectionOptionsArgs.builder()\n .passwordPolicy(\"excellent\")\n .bruteForceProtection(true)\n .strategyVersion(2)\n .enabledDatabaseCustomization(true)\n .importMode(false)\n .requiresUsername(true)\n .disableSignup(false)\n .customScripts(Map.of(\"get_user\", \"\"\"\n function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n \"\"\"))\n .configuration(Map.ofEntries(\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"bar\", \"baz\")\n ))\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .passwordHistories(ConnectionOptionsPasswordHistoryArgs.builder()\n .enable(true)\n .size(3)\n .build())\n .passwordNoPersonalInfo(ConnectionOptionsPasswordNoPersonalInfoArgs.builder()\n .enable(true)\n .build())\n .passwordDictionary(ConnectionOptionsPasswordDictionaryArgs.builder()\n .enable(true)\n .dictionaries( \n \"password\",\n \"admin\",\n \"1234\")\n .build())\n .passwordComplexityOptions(ConnectionOptionsPasswordComplexityOptionsArgs.builder()\n .minLength(12)\n .build())\n .validation(ConnectionOptionsValidationArgs.builder()\n .username(ConnectionOptionsValidationUsernameArgs.builder()\n .min(10)\n .max(40)\n .build())\n .build())\n .mfa(ConnectionOptionsMfaArgs.builder()\n .active(true)\n .returnEnrollSettings(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Auth0 connection.\n myConnection:\n type: auth0:Connection\n name: my_connection\n properties:\n name: Example-Connection\n isDomainConnection: true\n strategy: auth0\n metadata:\n key1: foo\n key2: bar\n options:\n passwordPolicy: excellent\n bruteForceProtection: true\n strategyVersion: 2\n enabledDatabaseCustomization: true\n importMode: false\n requiresUsername: true\n disableSignup: false\n customScripts:\n get_user: |2\n function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n configuration:\n foo: bar\n bar: baz\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n passwordHistories:\n - enable: true\n size: 3\n passwordNoPersonalInfo:\n enable: true\n passwordDictionary:\n enable: true\n dictionaries:\n - password\n - admin\n - '1234'\n passwordComplexityOptions:\n minLength: 12\n validation:\n username:\n min: 10\n max: 40\n mfa:\n active: true\n returnEnrollSettings: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google OAuth2 Connection\n\n\u003e Your Auth0 account may be pre-configured with a `google-oauth2` connection.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a Google OAuth2 connection.\nconst googleOauth2 = new auth0.Connection(\"google_oauth2\", {\n name: \"Google-OAuth2-Connection\",\n strategy: \"google-oauth2\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n allowedAudiences: [\n \"example.com\",\n \"api.example.com\",\n ],\n scopes: [\n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of a Google OAuth2 connection.\ngoogle_oauth2 = auth0.Connection(\"google_oauth2\",\n name=\"Google-OAuth2-Connection\",\n strategy=\"google-oauth2\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"allowed_audiences\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"scopes\": [\n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a Google OAuth2 connection.\n var googleOauth2 = new Auth0.Connection(\"google_oauth2\", new()\n {\n Name = \"Google-OAuth2-Connection\",\n Strategy = \"google-oauth2\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n AllowedAudiences = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n Scopes = new[]\n {\n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of a Google OAuth2 connection.\n\t\t_, err := auth0.NewConnection(ctx, \"google_oauth2\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Google-OAuth2-Connection\"),\n\t\t\tStrategy: pulumi.String(\"google-oauth2\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tAllowedAudiences: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"gmail\"),\n\t\t\t\t\tpulumi.String(\"youtube\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a Google OAuth2 connection.\n var googleOauth2 = new Connection(\"googleOauth2\", ConnectionArgs.builder()\n .name(\"Google-OAuth2-Connection\")\n .strategy(\"google-oauth2\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .allowedAudiences( \n \"example.com\",\n \"api.example.com\")\n .scopes( \n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a Google OAuth2 connection.\n googleOauth2:\n type: auth0:Connection\n name: google_oauth2\n properties:\n name: Google-OAuth2-Connection\n strategy: google-oauth2\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n allowedAudiences:\n - example.com\n - api.example.com\n scopes:\n - email\n - profile\n - gmail\n - youtube\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google Apps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\nconst googleApps = new auth0.Connection(\"google_apps\", {\n name: \"connection-google-apps\",\n isDomainConnection: false,\n strategy: \"google-apps\",\n showAsButton: false,\n options: {\n clientId: \"\",\n clientSecret: \"\",\n domain: \"example.com\",\n tenantDomain: \"example.com\",\n domainAliases: [\n \"example.com\",\n \"api.example.com\",\n ],\n apiEnableUsers: true,\n scopes: [\n \"ext_profile\",\n \"ext_groups\",\n ],\n iconUrl: \"https://example.com/assets/logo.png\",\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\ngoogle_apps = auth0.Connection(\"google_apps\",\n name=\"connection-google-apps\",\n is_domain_connection=False,\n strategy=\"google-apps\",\n show_as_button=False,\n options={\n \"client_id\": \"\",\n \"client_secret\": \"\",\n \"domain\": \"example.com\",\n \"tenant_domain\": \"example.com\",\n \"domain_aliases\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"api_enable_users\": True,\n \"scopes\": [\n \"ext_profile\",\n \"ext_groups\",\n ],\n \"icon_url\": \"https://example.com/assets/logo.png\",\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var googleApps = new Auth0.Connection(\"google_apps\", new()\n {\n Name = \"connection-google-apps\",\n IsDomainConnection = false,\n Strategy = \"google-apps\",\n ShowAsButton = false,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\",\n ClientSecret = \"\",\n Domain = \"example.com\",\n TenantDomain = \"example.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n ApiEnableUsers = true,\n Scopes = new[]\n {\n \"ext_profile\",\n \"ext_groups\",\n },\n IconUrl = \"https://example.com/assets/logo.png\",\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = auth0.NewConnection(ctx, \"google_apps\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"connection-google-apps\"),\n\t\t\tIsDomainConnection: pulumi.Bool(false),\n\t\t\tStrategy: pulumi.String(\"google-apps\"),\n\t\t\tShowAsButton: pulumi.Bool(false),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\"),\n\t\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\t\tTenantDomain: pulumi.String(\"example.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tApiEnableUsers: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ext_profile\"),\n\t\t\t\t\tpulumi.String(\"ext_groups\"),\n\t\t\t\t},\n\t\t\t\tIconUrl: pulumi.String(\"https://example.com/assets/logo.png\"),\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var googleApps = new Connection(\"googleApps\", ConnectionArgs.builder()\n .name(\"connection-google-apps\")\n .isDomainConnection(false)\n .strategy(\"google-apps\")\n .showAsButton(false)\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\")\n .clientSecret(\"\")\n .domain(\"example.com\")\n .tenantDomain(\"example.com\")\n .domainAliases( \n \"example.com\",\n \"api.example.com\")\n .apiEnableUsers(true)\n .scopes( \n \"ext_profile\",\n \"ext_groups\")\n .iconUrl(\"https://example.com/assets/logo.png\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n googleApps:\n type: auth0:Connection\n name: google_apps\n properties:\n name: connection-google-apps\n isDomainConnection: false\n strategy: google-apps\n showAsButton: false\n options:\n clientId:\n clientSecret:\n domain: example.com\n tenantDomain: example.com\n domainAliases:\n - example.com\n - api.example.com\n apiEnableUsers: true\n scopes:\n - ext_profile\n - ext_groups\n iconUrl: https://example.com/assets/logo.png\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Facebook Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a Facebook connection.\nconst facebook = new auth0.Connection(\"facebook\", {\n name: \"Facebook-Connection\",\n strategy: \"facebook\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n scopes: [\n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of a Facebook connection.\nfacebook = auth0.Connection(\"facebook\",\n name=\"Facebook-Connection\",\n strategy=\"facebook\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"scopes\": [\n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a Facebook connection.\n var facebook = new Auth0.Connection(\"facebook\", new()\n {\n Name = \"Facebook-Connection\",\n Strategy = \"facebook\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n Scopes = new[]\n {\n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of a Facebook connection.\n\t\t_, err := auth0.NewConnection(ctx, \"facebook\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Facebook-Connection\"),\n\t\t\tStrategy: pulumi.String(\"facebook\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"public_profile\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"groups_access_member_info\"),\n\t\t\t\t\tpulumi.String(\"user_birthday\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a Facebook connection.\n var facebook = new Connection(\"facebook\", ConnectionArgs.builder()\n .name(\"Facebook-Connection\")\n .strategy(\"facebook\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .scopes( \n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a Facebook connection.\n facebook:\n type: auth0:Connection\n properties:\n name: Facebook-Connection\n strategy: facebook\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n scopes:\n - public_profile\n - email\n - groups_access_member_info\n - user_birthday\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apple Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Apple connection.\nconst apple = new auth0.Connection(\"apple\", {\n name: \"Apple-Connection\",\n strategy: \"apple\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: `-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY-----`,\n teamId: \"\u003cteam-id\u003e\",\n keyId: \"\u003ckey-id\u003e\",\n scopes: [\n \"email\",\n \"name\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an Apple connection.\napple = auth0.Connection(\"apple\",\n name=\"Apple-Connection\",\n strategy=\"apple\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\"\"-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY-----\"\"\",\n \"team_id\": \"\u003cteam-id\u003e\",\n \"key_id\": \"\u003ckey-id\u003e\",\n \"scopes\": [\n \"email\",\n \"name\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Apple connection.\n var apple = new Auth0.Connection(\"apple\", new()\n {\n Name = \"Apple-Connection\",\n Strategy = \"apple\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = @\"-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY-----\",\n TeamId = \"\u003cteam-id\u003e\",\n KeyId = \"\u003ckey-id\u003e\",\n Scopes = new[]\n {\n \"email\",\n \"name\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an Apple connection.\n\t\t_, err := auth0.NewConnection(ctx, \"apple\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Apple-Connection\"),\n\t\t\tStrategy: pulumi.String(\"apple\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"-----BEGIN PRIVATE KEY-----\\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\\n-----END PRIVATE KEY-----\"),\n\t\t\t\tTeamId: pulumi.String(\"\u003cteam-id\u003e\"),\n\t\t\t\tKeyId: pulumi.String(\"\u003ckey-id\u003e\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"name\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Apple connection.\n var apple = new Connection(\"apple\", ConnectionArgs.builder()\n .name(\"Apple-Connection\")\n .strategy(\"apple\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY----- \"\"\")\n .teamId(\"\u003cteam-id\u003e\")\n .keyId(\"\u003ckey-id\u003e\")\n .scopes( \n \"email\",\n \"name\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Apple connection.\n apple:\n type: auth0:Connection\n properties:\n name: Apple-Connection\n strategy: apple\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: |-\n -----BEGIN PRIVATE KEY-----\n MIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n -----END PRIVATE KEY-----\n teamId: \u003cteam-id\u003e\n keyId: \u003ckey-id\u003e\n scopes:\n - email\n - name\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### LinkedIn Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an LinkedIn connection.\nconst linkedin = new auth0.Connection(\"linkedin\", {\n name: \"Linkedin-Connection\",\n strategy: \"linkedin\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n strategyVersion: 2,\n scopes: [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an LinkedIn connection.\nlinkedin = auth0.Connection(\"linkedin\",\n name=\"Linkedin-Connection\",\n strategy=\"linkedin\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"strategy_version\": 2,\n \"scopes\": [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an LinkedIn connection.\n var linkedin = new Auth0.Connection(\"linkedin\", new()\n {\n Name = \"Linkedin-Connection\",\n Strategy = \"linkedin\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n StrategyVersion = 2,\n Scopes = new[]\n {\n \"basic_profile\",\n \"profile\",\n \"email\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an LinkedIn connection.\n\t\t_, err := auth0.NewConnection(ctx, \"linkedin\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Linkedin-Connection\"),\n\t\t\tStrategy: pulumi.String(\"linkedin\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"basic_profile\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an LinkedIn connection.\n var linkedin = new Connection(\"linkedin\", ConnectionArgs.builder()\n .name(\"Linkedin-Connection\")\n .strategy(\"linkedin\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .strategyVersion(2)\n .scopes( \n \"basic_profile\",\n \"profile\",\n \"email\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an LinkedIn connection.\n linkedin:\n type: auth0:Connection\n properties:\n name: Linkedin-Connection\n strategy: linkedin\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n strategyVersion: 2\n scopes:\n - basic_profile\n - profile\n - email\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GitHub Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an GitHub connection.\nconst github = new auth0.Connection(\"github\", {\n name: \"GitHub-Connection\",\n strategy: \"github\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n scopes: [\n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an GitHub connection.\ngithub = auth0.Connection(\"github\",\n name=\"GitHub-Connection\",\n strategy=\"github\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"scopes\": [\n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an GitHub connection.\n var github = new Auth0.Connection(\"github\", new()\n {\n Name = \"GitHub-Connection\",\n Strategy = \"github\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n Scopes = new[]\n {\n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an GitHub connection.\n\t\t_, err := auth0.NewConnection(ctx, \"github\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"GitHub-Connection\"),\n\t\t\tStrategy: pulumi.String(\"github\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"public_repo\"),\n\t\t\t\t\tpulumi.String(\"repo\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an GitHub connection.\n var github = new Connection(\"github\", ConnectionArgs.builder()\n .name(\"GitHub-Connection\")\n .strategy(\"github\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .scopes( \n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an GitHub connection.\n github:\n type: auth0:Connection\n properties:\n name: GitHub-Connection\n strategy: github\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n scopes:\n - email\n - profile\n - public_repo\n - repo\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SalesForce Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an SalesForce connection.\nconst salesforce = new auth0.Connection(\"salesforce\", {\n name: \"Salesforce-Connection\",\n strategy: \"salesforce\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n communityBaseUrl: \"https://salesforce.example.com\",\n scopes: [\n \"openid\",\n \"email\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an SalesForce connection.\nsalesforce = auth0.Connection(\"salesforce\",\n name=\"Salesforce-Connection\",\n strategy=\"salesforce\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"community_base_url\": \"https://salesforce.example.com\",\n \"scopes\": [\n \"openid\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an SalesForce connection.\n var salesforce = new Auth0.Connection(\"salesforce\", new()\n {\n Name = \"Salesforce-Connection\",\n Strategy = \"salesforce\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n CommunityBaseUrl = \"https://salesforce.example.com\",\n Scopes = new[]\n {\n \"openid\",\n \"email\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an SalesForce connection.\n\t\t_, err := auth0.NewConnection(ctx, \"salesforce\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Salesforce-Connection\"),\n\t\t\tStrategy: pulumi.String(\"salesforce\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tCommunityBaseUrl: pulumi.String(\"https://salesforce.example.com\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an SalesForce connection.\n var salesforce = new Connection(\"salesforce\", ConnectionArgs.builder()\n .name(\"Salesforce-Connection\")\n .strategy(\"salesforce\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .communityBaseUrl(\"https://salesforce.example.com\")\n .scopes( \n \"openid\",\n \"email\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an SalesForce connection.\n salesforce:\n type: auth0:Connection\n properties:\n name: Salesforce-Connection\n strategy: salesforce\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n communityBaseUrl: https://salesforce.example.com\n scopes:\n - openid\n - email\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OAuth2 Connection\n\nAlso applies to following connection strategies: `dropbox`, `bitbucket`, `paypal`, `twitter`, `amazon`, `yahoo`, `box`, `wordpress`, `shopify`, `custom`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an OAuth2 connection.\nconst oauth2 = new auth0.Connection(\"oauth2\", {\n name: \"OAuth2-Connection\",\n strategy: \"oauth2\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n strategyVersion: 2,\n scopes: [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://auth.example.com/oauth2/token\",\n authorizationEndpoint: \"https://auth.example.com/oauth2/authorize\",\n pkceEnabled: true,\n iconUrl: \"https://auth.example.com/assets/logo.png\",\n scripts: {\n fetchUserProfile: ` function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n`,\n },\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an OAuth2 connection.\noauth2 = auth0.Connection(\"oauth2\",\n name=\"OAuth2-Connection\",\n strategy=\"oauth2\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"strategy_version\": 2,\n \"scopes\": [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n \"token_endpoint\": \"https://auth.example.com/oauth2/token\",\n \"authorization_endpoint\": \"https://auth.example.com/oauth2/authorize\",\n \"pkce_enabled\": True,\n \"icon_url\": \"https://auth.example.com/assets/logo.png\",\n \"scripts\": {\n \"fetch_user_profile\": \"\"\" function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n\"\"\",\n },\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an OAuth2 connection.\n var oauth2 = new Auth0.Connection(\"oauth2\", new()\n {\n Name = \"OAuth2-Connection\",\n Strategy = \"oauth2\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n StrategyVersion = 2,\n Scopes = new[]\n {\n \"basic_profile\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://auth.example.com/oauth2/token\",\n AuthorizationEndpoint = \"https://auth.example.com/oauth2/authorize\",\n PkceEnabled = true,\n IconUrl = \"https://auth.example.com/assets/logo.png\",\n Scripts = \n {\n { \"fetchUserProfile\", @\" function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"\"Whoops!\"\"));\n }\n\" },\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an OAuth2 connection.\n\t\t_, err := auth0.NewConnection(ctx, \"oauth2\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"OAuth2-Connection\"),\n\t\t\tStrategy: pulumi.String(\"oauth2\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"basic_profile\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://auth.example.com/oauth2/token\"),\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.example.com/oauth2/authorize\"),\n\t\t\t\tPkceEnabled: pulumi.Bool(true),\n\t\t\t\tIconUrl: pulumi.String(\"https://auth.example.com/assets/logo.png\"),\n\t\t\t\tScripts: pulumi.StringMap{\n\t\t\t\t\t\"fetchUserProfile\": pulumi.String(\" function fetchUserProfile(accessToken, context, callback) {\\n return callback(new Error(\\\"Whoops!\\\"));\\n }\\n\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an OAuth2 connection.\n var oauth2 = new Connection(\"oauth2\", ConnectionArgs.builder()\n .name(\"OAuth2-Connection\")\n .strategy(\"oauth2\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .strategyVersion(2)\n .scopes( \n \"basic_profile\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://auth.example.com/oauth2/token\")\n .authorizationEndpoint(\"https://auth.example.com/oauth2/authorize\")\n .pkceEnabled(true)\n .iconUrl(\"https://auth.example.com/assets/logo.png\")\n .scripts(Map.of(\"fetchUserProfile\", \"\"\"\n function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n \"\"\"))\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an OAuth2 connection.\n oauth2:\n type: auth0:Connection\n properties:\n name: OAuth2-Connection\n strategy: oauth2\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n strategyVersion: 2\n scopes:\n - basic_profile\n - profile\n - email\n tokenEndpoint: https://auth.example.com/oauth2/token\n authorizationEndpoint: https://auth.example.com/oauth2/authorize\n pkceEnabled: true\n iconUrl: https://auth.example.com/assets/logo.png\n scripts:\n fetchUserProfile: |2\n function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Active Directory (AD)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\nconst ad = new auth0.Connection(\"ad\", {\n name: \"connection-active-directory\",\n displayName: \"Active Directory Connection\",\n strategy: \"ad\",\n showAsButton: true,\n options: {\n disableSelfServiceChangePassword: true,\n bruteForceProtection: true,\n tenantDomain: \"example.com\",\n strategyVersion: 2,\n iconUrl: \"https://example.com/assets/logo.png\",\n domainAliases: [\n \"example.com\",\n \"api.example.com\",\n ],\n ips: [\n \"192.168.1.1\",\n \"192.168.1.2\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n useCertAuth: false,\n useKerberos: false,\n disableCache: false,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\nad = auth0.Connection(\"ad\",\n name=\"connection-active-directory\",\n display_name=\"Active Directory Connection\",\n strategy=\"ad\",\n show_as_button=True,\n options={\n \"disable_self_service_change_password\": True,\n \"brute_force_protection\": True,\n \"tenant_domain\": \"example.com\",\n \"strategy_version\": 2,\n \"icon_url\": \"https://example.com/assets/logo.png\",\n \"domain_aliases\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"ips\": [\n \"192.168.1.1\",\n \"192.168.1.2\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"use_cert_auth\": False,\n \"use_kerberos\": False,\n \"disable_cache\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ad = new Auth0.Connection(\"ad\", new()\n {\n Name = \"connection-active-directory\",\n DisplayName = \"Active Directory Connection\",\n Strategy = \"ad\",\n ShowAsButton = true,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n DisableSelfServiceChangePassword = true,\n BruteForceProtection = true,\n TenantDomain = \"example.com\",\n StrategyVersion = 2,\n IconUrl = \"https://example.com/assets/logo.png\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n Ips = new[]\n {\n \"192.168.1.1\",\n \"192.168.1.2\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n UseCertAuth = false,\n UseKerberos = false,\n DisableCache = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = auth0.NewConnection(ctx, \"ad\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"connection-active-directory\"),\n\t\t\tDisplayName: pulumi.String(\"Active Directory Connection\"),\n\t\t\tStrategy: pulumi.String(\"ad\"),\n\t\t\tShowAsButton: pulumi.Bool(true),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tDisableSelfServiceChangePassword: pulumi.Bool(true),\n\t\t\t\tBruteForceProtection: pulumi.Bool(true),\n\t\t\t\tTenantDomain: pulumi.String(\"example.com\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tIconUrl: pulumi.String(\"https://example.com/assets/logo.png\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"192.168.1.1\"),\n\t\t\t\t\tpulumi.String(\"192.168.1.2\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tUseCertAuth: pulumi.Bool(false),\n\t\t\t\tUseKerberos: pulumi.Bool(false),\n\t\t\t\tDisableCache: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ad = new Connection(\"ad\", ConnectionArgs.builder()\n .name(\"connection-active-directory\")\n .displayName(\"Active Directory Connection\")\n .strategy(\"ad\")\n .showAsButton(true)\n .options(ConnectionOptionsArgs.builder()\n .disableSelfServiceChangePassword(true)\n .bruteForceProtection(true)\n .tenantDomain(\"example.com\")\n .strategyVersion(2)\n .iconUrl(\"https://example.com/assets/logo.png\")\n .domainAliases( \n \"example.com\",\n \"api.example.com\")\n .ips( \n \"192.168.1.1\",\n \"192.168.1.2\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .useCertAuth(false)\n .useKerberos(false)\n .disableCache(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ad:\n type: auth0:Connection\n properties:\n name: connection-active-directory\n displayName: Active Directory Connection\n strategy: ad\n showAsButton: true\n options:\n disableSelfServiceChangePassword: true\n bruteForceProtection: true\n tenantDomain: example.com\n strategyVersion: 2\n iconUrl: https://example.com/assets/logo.png\n domainAliases:\n - example.com\n - api.example.com\n ips:\n - 192.168.1.1\n - 192.168.1.2\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n useCertAuth: false\n useKerberos: false\n disableCache: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure AD Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\nconst azureAd = new auth0.Connection(\"azure_ad\", {\n name: \"connection-azure-ad\",\n strategy: \"waad\",\n showAsButton: true,\n options: {\n identityApi: \"azure-active-directory-v1.0\",\n clientId: \"123456\",\n clientSecret: \"123456\",\n strategyVersion: 2,\n userIdAttribute: \"userName\",\n appId: \"app-id-123\",\n tenantDomain: \"example.onmicrosoft.com\",\n domain: \"example.onmicrosoft.com\",\n domainAliases: [\n \"example.com\",\n \"api.example.com\",\n ],\n iconUrl: \"https://example.onmicrosoft.com/assets/logo.png\",\n useWsfed: false,\n waadProtocol: \"openid-connect\",\n waadCommonEndpoint: false,\n maxGroupsToRetrieve: \"250\",\n apiEnableUsers: true,\n scopes: [\n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\",\n ],\n setUserRootAttributes: \"on_each_login\",\n shouldTrustEmailVerifiedConnection: \"never_set_emails_as_verified\",\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\nazure_ad = auth0.Connection(\"azure_ad\",\n name=\"connection-azure-ad\",\n strategy=\"waad\",\n show_as_button=True,\n options={\n \"identity_api\": \"azure-active-directory-v1.0\",\n \"client_id\": \"123456\",\n \"client_secret\": \"123456\",\n \"strategy_version\": 2,\n \"user_id_attribute\": \"userName\",\n \"app_id\": \"app-id-123\",\n \"tenant_domain\": \"example.onmicrosoft.com\",\n \"domain\": \"example.onmicrosoft.com\",\n \"domain_aliases\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"icon_url\": \"https://example.onmicrosoft.com/assets/logo.png\",\n \"use_wsfed\": False,\n \"waad_protocol\": \"openid-connect\",\n \"waad_common_endpoint\": False,\n \"max_groups_to_retrieve\": \"250\",\n \"api_enable_users\": True,\n \"scopes\": [\n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"should_trust_email_verified_connection\": \"never_set_emails_as_verified\",\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azureAd = new Auth0.Connection(\"azure_ad\", new()\n {\n Name = \"connection-azure-ad\",\n Strategy = \"waad\",\n ShowAsButton = true,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n IdentityApi = \"azure-active-directory-v1.0\",\n ClientId = \"123456\",\n ClientSecret = \"123456\",\n StrategyVersion = 2,\n UserIdAttribute = \"userName\",\n AppId = \"app-id-123\",\n TenantDomain = \"example.onmicrosoft.com\",\n Domain = \"example.onmicrosoft.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n IconUrl = \"https://example.onmicrosoft.com/assets/logo.png\",\n UseWsfed = false,\n WaadProtocol = \"openid-connect\",\n WaadCommonEndpoint = false,\n MaxGroupsToRetrieve = \"250\",\n ApiEnableUsers = true,\n Scopes = new[]\n {\n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\",\n },\n SetUserRootAttributes = \"on_each_login\",\n ShouldTrustEmailVerifiedConnection = \"never_set_emails_as_verified\",\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = auth0.NewConnection(ctx, \"azure_ad\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"connection-azure-ad\"),\n\t\t\tStrategy: pulumi.String(\"waad\"),\n\t\t\tShowAsButton: pulumi.Bool(true),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tIdentityApi: pulumi.String(\"azure-active-directory-v1.0\"),\n\t\t\t\tClientId: pulumi.String(\"123456\"),\n\t\t\t\tClientSecret: pulumi.String(\"123456\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tUserIdAttribute: pulumi.String(\"userName\"),\n\t\t\t\tAppId: pulumi.String(\"app-id-123\"),\n\t\t\t\tTenantDomain: pulumi.String(\"example.onmicrosoft.com\"),\n\t\t\t\tDomain: pulumi.String(\"example.onmicrosoft.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tIconUrl: pulumi.String(\"https://example.onmicrosoft.com/assets/logo.png\"),\n\t\t\t\tUseWsfed: pulumi.Bool(false),\n\t\t\t\tWaadProtocol: pulumi.String(\"openid-connect\"),\n\t\t\t\tWaadCommonEndpoint: pulumi.Bool(false),\n\t\t\t\tMaxGroupsToRetrieve: pulumi.String(\"250\"),\n\t\t\t\tApiEnableUsers: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"basic_profile\"),\n\t\t\t\t\tpulumi.String(\"ext_groups\"),\n\t\t\t\t\tpulumi.String(\"ext_profile\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tShouldTrustEmailVerifiedConnection: pulumi.String(\"never_set_emails_as_verified\"),\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azureAd = new Connection(\"azureAd\", ConnectionArgs.builder()\n .name(\"connection-azure-ad\")\n .strategy(\"waad\")\n .showAsButton(true)\n .options(ConnectionOptionsArgs.builder()\n .identityApi(\"azure-active-directory-v1.0\")\n .clientId(\"123456\")\n .clientSecret(\"123456\")\n .strategyVersion(2)\n .userIdAttribute(\"userName\")\n .appId(\"app-id-123\")\n .tenantDomain(\"example.onmicrosoft.com\")\n .domain(\"example.onmicrosoft.com\")\n .domainAliases( \n \"example.com\",\n \"api.example.com\")\n .iconUrl(\"https://example.onmicrosoft.com/assets/logo.png\")\n .useWsfed(false)\n .waadProtocol(\"openid-connect\")\n .waadCommonEndpoint(false)\n .maxGroupsToRetrieve(250)\n .apiEnableUsers(true)\n .scopes( \n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\")\n .setUserRootAttributes(\"on_each_login\")\n .shouldTrustEmailVerifiedConnection(\"never_set_emails_as_verified\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azureAd:\n type: auth0:Connection\n name: azure_ad\n properties:\n name: connection-azure-ad\n strategy: waad\n showAsButton: true\n options:\n identityApi: azure-active-directory-v1.0\n clientId: '123456'\n clientSecret: '123456'\n strategyVersion: 2\n userIdAttribute: userName\n appId: app-id-123\n tenantDomain: example.onmicrosoft.com\n domain: example.onmicrosoft.com\n domainAliases:\n - example.com\n - api.example.com\n iconUrl: https://example.onmicrosoft.com/assets/logo.png\n useWsfed: false\n waadProtocol: openid-connect\n waadCommonEndpoint: false\n maxGroupsToRetrieve: 250\n apiEnableUsers: true\n scopes:\n - basic_profile\n - ext_groups\n - ext_profile\n setUserRootAttributes: on_each_login\n shouldTrustEmailVerifiedConnection: never_set_emails_as_verified\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Email Connection\n\n\u003e To be able to see this in the management dashboard as well, the name of the connection must be set to \"email\".\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Email connection.\nconst passwordlessEmail = new auth0.Connection(\"passwordless_email\", {\n strategy: \"email\",\n name: \"email\",\n options: {\n name: \"email\",\n from: \"{{ application.name }} \u003croot@auth0.com\u003e\",\n subject: \"Welcome to {{ application.name }}\",\n syntax: \"liquid\",\n template: \"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\",\n disableSignup: false,\n bruteForceProtection: true,\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [],\n authParams: {\n scope: \"openid email profile offline_access\",\n response_type: \"code\",\n },\n totp: {\n timeStep: 300,\n length: 6,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an Email connection.\npasswordless_email = auth0.Connection(\"passwordless_email\",\n strategy=\"email\",\n name=\"email\",\n options={\n \"name\": \"email\",\n \"from_\": \"{{ application.name }} \u003croot@auth0.com\u003e\",\n \"subject\": \"Welcome to {{ application.name }}\",\n \"syntax\": \"liquid\",\n \"template\": \"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\",\n \"disable_signup\": False,\n \"brute_force_protection\": True,\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [],\n \"auth_params\": {\n \"scope\": \"openid email profile offline_access\",\n \"response_type\": \"code\",\n },\n \"totp\": {\n \"time_step\": 300,\n \"length\": 6,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Email connection.\n var passwordlessEmail = new Auth0.Connection(\"passwordless_email\", new()\n {\n Strategy = \"email\",\n Name = \"email\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n Name = \"email\",\n From = \"{{ application.name }} \u003croot@auth0.com\u003e\",\n Subject = \"Welcome to {{ application.name }}\",\n Syntax = \"liquid\",\n Template = \"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\",\n DisableSignup = false,\n BruteForceProtection = true,\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new() { },\n AuthParams = \n {\n { \"scope\", \"openid email profile offline_access\" },\n { \"response_type\", \"code\" },\n },\n Totp = new Auth0.Inputs.ConnectionOptionsTotpArgs\n {\n TimeStep = 300,\n Length = 6,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an Email connection.\n\t\t_, err := auth0.NewConnection(ctx, \"passwordless_email\", \u0026auth0.ConnectionArgs{\n\t\t\tStrategy: pulumi.String(\"email\"),\n\t\t\tName: pulumi.String(\"email\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tName: pulumi.String(\"email\"),\n\t\t\t\tFrom: pulumi.String(\"{{ application.name }} \u003croot@auth0.com\u003e\"),\n\t\t\t\tSubject: pulumi.String(\"Welcome to {{ application.name }}\"),\n\t\t\t\tSyntax: pulumi.String(\"liquid\"),\n\t\t\t\tTemplate: pulumi.String(\"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\"),\n\t\t\t\tDisableSignup: pulumi.Bool(false),\n\t\t\t\tBruteForceProtection: pulumi.Bool(true),\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{},\n\t\t\t\tAuthParams: pulumi.StringMap{\n\t\t\t\t\t\"scope\": pulumi.String(\"openid email profile offline_access\"),\n\t\t\t\t\t\"response_type\": pulumi.String(\"code\"),\n\t\t\t\t},\n\t\t\t\tTotp: \u0026auth0.ConnectionOptionsTotpArgs{\n\t\t\t\t\tTimeStep: pulumi.Int(300),\n\t\t\t\t\tLength: pulumi.Int(6),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsTotpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Email connection.\n var passwordlessEmail = new Connection(\"passwordlessEmail\", ConnectionArgs.builder()\n .strategy(\"email\")\n .name(\"email\")\n .options(ConnectionOptionsArgs.builder()\n .name(\"email\")\n .from(\"{{ application.name }} \u003croot@auth0.com\u003e\")\n .subject(\"Welcome to {{ application.name }}\")\n .syntax(\"liquid\")\n .template(\"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\")\n .disableSignup(false)\n .bruteForceProtection(true)\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs()\n .authParams(Map.ofEntries(\n Map.entry(\"scope\", \"openid email profile offline_access\"),\n Map.entry(\"response_type\", \"code\")\n ))\n .totp(ConnectionOptionsTotpArgs.builder()\n .timeStep(300)\n .length(6)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Email connection.\n passwordlessEmail:\n type: auth0:Connection\n name: passwordless_email\n properties:\n strategy: email\n name: email\n options:\n name: email\n from: '{{ application.name }} \u003croot@auth0.com\u003e'\n subject: Welcome to {{ application.name }}\n syntax: liquid\n template: \u003chtml\u003eThis is the body of the email\u003c/html\u003e\n disableSignup: false\n bruteForceProtection: true\n setUserRootAttributes: on_each_login\n nonPersistentAttrs: []\n authParams:\n scope: openid email profile offline_access\n response_type: code\n totp:\n timeStep: 300\n length: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SAML Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a SAML connection.\nconst samlp = new auth0.Connection(\"samlp\", {\n name: \"SAML-Connection\",\n strategy: \"samlp\",\n options: {\n debug: false,\n signingCert: \"\u003csigning-certificate\u003e\",\n signInEndpoint: \"https://saml.provider/sign_in\",\n signOutEndpoint: \"https://saml.provider/sign_out\",\n disableSignOut: true,\n strategyVersion: 2,\n tenantDomain: \"example.com\",\n domainAliases: [\n \"example.com\",\n \"alias.example.com\",\n ],\n protocolBinding: \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n requestTemplate: `\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e`,\n userIdAttribute: \"https://saml.provider/imi/ns/identity-200810\",\n signatureAlgorithm: \"rsa-sha256\",\n digestAlgorithm: \"sha256\",\n iconUrl: \"https://saml.provider/assets/logo.png\",\n entityId: \"\u003centity_id\u003e\",\n metadataXml: ` \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n`,\n metadataUrl: \"https://saml.provider/imi/ns/FederationMetadata.xml\",\n fieldsMap: JSON.stringify({\n name: [\n \"name\",\n \"nameidentifier\",\n ],\n email: [\n \"emailaddress\",\n \"nameidentifier\",\n ],\n family_name: \"surname\",\n }),\n signingKey: {\n key: `-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----`,\n cert: `-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----`,\n },\n decryptionKey: {\n key: `-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----`,\n cert: `-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----`,\n },\n idpInitiated: {\n clientId: \"client_id\",\n clientProtocol: \"samlp\",\n clientAuthorizeQuery: \"type=code\u0026timeout=30\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of a SAML connection.\nsamlp = auth0.Connection(\"samlp\",\n name=\"SAML-Connection\",\n strategy=\"samlp\",\n options={\n \"debug\": False,\n \"signing_cert\": \"\u003csigning-certificate\u003e\",\n \"sign_in_endpoint\": \"https://saml.provider/sign_in\",\n \"sign_out_endpoint\": \"https://saml.provider/sign_out\",\n \"disable_sign_out\": True,\n \"strategy_version\": 2,\n \"tenant_domain\": \"example.com\",\n \"domain_aliases\": [\n \"example.com\",\n \"alias.example.com\",\n ],\n \"protocol_binding\": \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n \"request_template\": \"\"\"\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e\"\"\",\n \"user_id_attribute\": \"https://saml.provider/imi/ns/identity-200810\",\n \"signature_algorithm\": \"rsa-sha256\",\n \"digest_algorithm\": \"sha256\",\n \"icon_url\": \"https://saml.provider/assets/logo.png\",\n \"entity_id\": \"\u003centity_id\u003e\",\n \"metadata_xml\": \"\"\" \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n\"\"\",\n \"metadata_url\": \"https://saml.provider/imi/ns/FederationMetadata.xml\",\n \"fields_map\": json.dumps({\n \"name\": [\n \"name\",\n \"nameidentifier\",\n ],\n \"email\": [\n \"emailaddress\",\n \"nameidentifier\",\n ],\n \"family_name\": \"surname\",\n }),\n \"signing_key\": {\n \"key\": \"\"\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\"\"\",\n \"cert\": \"\"\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\"\"\",\n },\n \"decryption_key\": {\n \"key\": \"\"\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\"\"\",\n \"cert\": \"\"\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\"\"\",\n },\n \"idp_initiated\": {\n \"client_id\": \"client_id\",\n \"client_protocol\": \"samlp\",\n \"client_authorize_query\": \"type=code\u0026timeout=30\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a SAML connection.\n var samlp = new Auth0.Connection(\"samlp\", new()\n {\n Name = \"SAML-Connection\",\n Strategy = \"samlp\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n Debug = false,\n SigningCert = \"\u003csigning-certificate\u003e\",\n SignInEndpoint = \"https://saml.provider/sign_in\",\n SignOutEndpoint = \"https://saml.provider/sign_out\",\n DisableSignOut = true,\n StrategyVersion = 2,\n TenantDomain = \"example.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"alias.example.com\",\n },\n ProtocolBinding = \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n RequestTemplate = @\"\u003csamlp:AuthnRequest xmlns:samlp=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\n@@AssertServiceURLAndDestination@@\n ID=\"\"@@ID@@\"\"\n IssueInstant=\"\"@@IssueInstant@@\"\"\n ProtocolBinding=\"\"@@ProtocolBinding@@\"\" Version=\"\"2.0\"\"\u003e\n \u003csaml:Issuer xmlns:saml=\"\"urn:oasis:names:tc:SAML:2.0:assertion\"\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e\",\n UserIdAttribute = \"https://saml.provider/imi/ns/identity-200810\",\n SignatureAlgorithm = \"rsa-sha256\",\n DigestAlgorithm = \"sha256\",\n IconUrl = \"https://saml.provider/assets/logo.png\",\n EntityId = \"\u003centity_id\u003e\",\n MetadataXml = @\" \u003c?xml version=\"\"1.0\"\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\" entityID=\"\"https://example.com\"\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:SingleLogoutService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://saml.provider/sign_out\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://saml.provider/sign_in\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n\",\n MetadataUrl = \"https://saml.provider/imi/ns/FederationMetadata.xml\",\n FieldsMap = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = new[]\n {\n \"name\",\n \"nameidentifier\",\n },\n [\"email\"] = new[]\n {\n \"emailaddress\",\n \"nameidentifier\",\n },\n [\"family_name\"] = \"surname\",\n }),\n SigningKey = new Auth0.Inputs.ConnectionOptionsSigningKeyArgs\n {\n Key = @\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\",\n Cert = @\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\",\n },\n DecryptionKey = new Auth0.Inputs.ConnectionOptionsDecryptionKeyArgs\n {\n Key = @\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\",\n Cert = @\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\",\n },\n IdpInitiated = new Auth0.Inputs.ConnectionOptionsIdpInitiatedArgs\n {\n ClientId = \"client_id\",\n ClientProtocol = \"samlp\",\n ClientAuthorizeQuery = \"type=code\u0026timeout=30\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": []string{\n\t\t\t\t\"name\",\n\t\t\t\t\"nameidentifier\",\n\t\t\t},\n\t\t\t\"email\": []string{\n\t\t\t\t\"emailaddress\",\n\t\t\t\t\"nameidentifier\",\n\t\t\t},\n\t\t\t\"family_name\": \"surname\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// This is an example of a SAML connection.\n\t\t_, err = auth0.NewConnection(ctx, \"samlp\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"SAML-Connection\"),\n\t\t\tStrategy: pulumi.String(\"samlp\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tDebug: pulumi.Bool(false),\n\t\t\t\tSigningCert: pulumi.String(\"\u003csigning-certificate\u003e\"),\n\t\t\t\tSignInEndpoint: pulumi.String(\"https://saml.provider/sign_in\"),\n\t\t\t\tSignOutEndpoint: pulumi.String(\"https://saml.provider/sign_out\"),\n\t\t\t\tDisableSignOut: pulumi.Bool(true),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tTenantDomain: pulumi.String(\"example.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"alias.example.com\"),\n\t\t\t\t},\n\t\t\t\tProtocolBinding: pulumi.String(\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"),\n\t\t\t\tRequestTemplate: pulumi.String(`\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e`),\n\t\t\t\tUserIdAttribute: pulumi.String(\"https://saml.provider/imi/ns/identity-200810\"),\n\t\t\t\tSignatureAlgorithm: pulumi.String(\"rsa-sha256\"),\n\t\t\t\tDigestAlgorithm: pulumi.String(\"sha256\"),\n\t\t\t\tIconUrl: pulumi.String(\"https://saml.provider/assets/logo.png\"),\n\t\t\t\tEntityId: pulumi.String(\"\u003centity_id\u003e\"),\n\t\t\t\tMetadataXml: pulumi.String(` \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n`),\n\t\t\t\tMetadataUrl: pulumi.String(\"https://saml.provider/imi/ns/FederationMetadata.xml\"),\n\t\t\t\tFieldsMap: pulumi.String(json0),\n\t\t\t\tSigningKey: \u0026auth0.ConnectionOptionsSigningKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"-----BEGIN PRIVATE KEY-----\\n...{your private key here}...\\n-----END PRIVATE KEY-----\"),\n\t\t\t\t\tCert: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n...{your public key cert here}...\\n-----END CERTIFICATE-----\"),\n\t\t\t\t},\n\t\t\t\tDecryptionKey: \u0026auth0.ConnectionOptionsDecryptionKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"-----BEGIN PRIVATE KEY-----\\n...{your private key here}...\\n-----END PRIVATE KEY-----\"),\n\t\t\t\t\tCert: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n...{your public key cert here}...\\n-----END CERTIFICATE-----\"),\n\t\t\t\t},\n\t\t\t\tIdpInitiated: \u0026auth0.ConnectionOptionsIdpInitiatedArgs{\n\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\tClientProtocol: pulumi.String(\"samlp\"),\n\t\t\t\t\tClientAuthorizeQuery: pulumi.String(\"type=code\u0026timeout=30\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsSigningKeyArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsDecryptionKeyArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsIdpInitiatedArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a SAML connection.\n var samlp = new Connection(\"samlp\", ConnectionArgs.builder()\n .name(\"SAML-Connection\")\n .strategy(\"samlp\")\n .options(ConnectionOptionsArgs.builder()\n .debug(false)\n .signingCert(\"\u003csigning-certificate\u003e\")\n .signInEndpoint(\"https://saml.provider/sign_in\")\n .signOutEndpoint(\"https://saml.provider/sign_out\")\n .disableSignOut(true)\n .strategyVersion(2)\n .tenantDomain(\"example.com\")\n .domainAliases( \n \"example.com\",\n \"alias.example.com\")\n .protocolBinding(\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\")\n .requestTemplate(\"\"\"\n\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e \"\"\")\n .userIdAttribute(\"https://saml.provider/imi/ns/identity-200810\")\n .signatureAlgorithm(\"rsa-sha256\")\n .digestAlgorithm(\"sha256\")\n .iconUrl(\"https://saml.provider/assets/logo.png\")\n .entityId(\"\u003centity_id\u003e\")\n .metadataXml(\"\"\"\n \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n \"\"\")\n .metadataUrl(\"https://saml.provider/imi/ns/FederationMetadata.xml\")\n .fieldsMap(serializeJson(\n jsonObject(\n jsonProperty(\"name\", jsonArray(\n \"name\", \n \"nameidentifier\"\n )),\n jsonProperty(\"email\", jsonArray(\n \"emailaddress\", \n \"nameidentifier\"\n )),\n jsonProperty(\"family_name\", \"surname\")\n )))\n .signingKey(ConnectionOptionsSigningKeyArgs.builder()\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY----- \"\"\")\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE----- \"\"\")\n .build())\n .decryptionKey(ConnectionOptionsDecryptionKeyArgs.builder()\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY----- \"\"\")\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE----- \"\"\")\n .build())\n .idpInitiated(ConnectionOptionsIdpInitiatedArgs.builder()\n .clientId(\"client_id\")\n .clientProtocol(\"samlp\")\n .clientAuthorizeQuery(\"type=code\u0026timeout=30\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a SAML connection.\n samlp:\n type: auth0:Connection\n properties:\n name: SAML-Connection\n strategy: samlp\n options:\n debug: false\n signingCert: \u003csigning-certificate\u003e\n signInEndpoint: https://saml.provider/sign_in\n signOutEndpoint: https://saml.provider/sign_out\n disableSignOut: true\n strategyVersion: 2\n tenantDomain: example.com\n domainAliases:\n - example.com\n - alias.example.com\n protocolBinding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\n requestTemplate: |-\n \u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n @@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n \u003c/samlp:AuthnRequest\u003e\n userIdAttribute: https://saml.provider/imi/ns/identity-200810\n signatureAlgorithm: rsa-sha256\n digestAlgorithm: sha256\n iconUrl: https://saml.provider/assets/logo.png\n entityId: \u003centity_id\u003e\n metadataXml: |2\n \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n metadataUrl: https://saml.provider/imi/ns/FederationMetadata.xml\n fieldsMap:\n fn::toJSON:\n name:\n - name\n - nameidentifier\n email:\n - emailaddress\n - nameidentifier\n family_name: surname\n signingKey:\n key: |-\n -----BEGIN PRIVATE KEY-----\n ...{your private key here}...\n -----END PRIVATE KEY-----\n cert: |-\n -----BEGIN CERTIFICATE-----\n ...{your public key cert here}...\n -----END CERTIFICATE-----\n decryptionKey:\n key: |-\n -----BEGIN PRIVATE KEY-----\n ...{your private key here}...\n -----END PRIVATE KEY-----\n cert: |-\n -----BEGIN CERTIFICATE-----\n ...{your public key cert here}...\n -----END CERTIFICATE-----\n idpInitiated:\n clientId: client_id\n clientProtocol: samlp\n clientAuthorizeQuery: type=code\u0026timeout=30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### WindowsLive Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a WindowsLive connection.\nconst windowslive = new auth0.Connection(\"windowslive\", {\n name: \"Windowslive-Connection\",\n strategy: \"windowslive\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n strategyVersion: 2,\n scopes: [\n \"signin\",\n \"graph_user\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of a WindowsLive connection.\nwindowslive = auth0.Connection(\"windowslive\",\n name=\"Windowslive-Connection\",\n strategy=\"windowslive\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"strategy_version\": 2,\n \"scopes\": [\n \"signin\",\n \"graph_user\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a WindowsLive connection.\n var windowslive = new Auth0.Connection(\"windowslive\", new()\n {\n Name = \"Windowslive-Connection\",\n Strategy = \"windowslive\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n StrategyVersion = 2,\n Scopes = new[]\n {\n \"signin\",\n \"graph_user\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of a WindowsLive connection.\n\t\t_, err := auth0.NewConnection(ctx, \"windowslive\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Windowslive-Connection\"),\n\t\t\tStrategy: pulumi.String(\"windowslive\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"signin\"),\n\t\t\t\t\tpulumi.String(\"graph_user\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a WindowsLive connection.\n var windowslive = new Connection(\"windowslive\", ConnectionArgs.builder()\n .name(\"Windowslive-Connection\")\n .strategy(\"windowslive\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .strategyVersion(2)\n .scopes( \n \"signin\",\n \"graph_user\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a WindowsLive connection.\n windowslive:\n type: auth0:Connection\n properties:\n name: Windowslive-Connection\n strategy: windowslive\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n strategyVersion: 2\n scopes:\n - signin\n - graph_user\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OIDC Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an OIDC connection.\nconst oidc = new auth0.Connection(\"oidc\", {\n name: \"oidc-connection\",\n displayName: \"OIDC Connection\",\n strategy: \"oidc\",\n showAsButton: false,\n options: {\n clientId: \"1234567\",\n clientSecret: \"1234567\",\n domainAliases: [\"example.com\"],\n tenantDomain: \"\",\n iconUrl: \"https://example.com/assets/logo.png\",\n type: \"back_channel\",\n issuer: \"https://www.paypalobjects.com\",\n jwksUri: \"https://api.paypal.com/v1/oauth2/certs\",\n discoveryUrl: \"https://www.paypalobjects.com/.well-known/openid-configuration\",\n tokenEndpoint: \"https://api.paypal.com/v1/oauth2/token\",\n userinfoEndpoint: \"https://api.paypal.com/v1/oauth2/token/userinfo\",\n authorizationEndpoint: \"https://www.paypal.com/signin/authorize\",\n scopes: [\n \"openid\",\n \"email\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n connectionSettings: {\n pkce: \"auto\",\n },\n attributeMap: {\n mappingMode: \"use_map\",\n userinfoScope: \"openid email profile groups\",\n attributes: JSON.stringify({\n name: \"${context.tokenset.name}\",\n email: \"${context.tokenset.email}\",\n email_verified: \"${context.tokenset.email_verified}\",\n nickname: \"${context.tokenset.nickname}\",\n picture: \"${context.tokenset.picture}\",\n given_name: \"${context.tokenset.given_name}\",\n family_name: \"${context.tokenset.family_name}\",\n }),\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of an OIDC connection.\noidc = auth0.Connection(\"oidc\",\n name=\"oidc-connection\",\n display_name=\"OIDC Connection\",\n strategy=\"oidc\",\n show_as_button=False,\n options={\n \"client_id\": \"1234567\",\n \"client_secret\": \"1234567\",\n \"domain_aliases\": [\"example.com\"],\n \"tenant_domain\": \"\",\n \"icon_url\": \"https://example.com/assets/logo.png\",\n \"type\": \"back_channel\",\n \"issuer\": \"https://www.paypalobjects.com\",\n \"jwks_uri\": \"https://api.paypal.com/v1/oauth2/certs\",\n \"discovery_url\": \"https://www.paypalobjects.com/.well-known/openid-configuration\",\n \"token_endpoint\": \"https://api.paypal.com/v1/oauth2/token\",\n \"userinfo_endpoint\": \"https://api.paypal.com/v1/oauth2/token/userinfo\",\n \"authorization_endpoint\": \"https://www.paypal.com/signin/authorize\",\n \"scopes\": [\n \"openid\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n \"connection_settings\": {\n \"pkce\": \"auto\",\n },\n \"attribute_map\": {\n \"mapping_mode\": \"use_map\",\n \"userinfo_scope\": \"openid email profile groups\",\n \"attributes\": json.dumps({\n \"name\": \"${context.tokenset.name}\",\n \"email\": \"${context.tokenset.email}\",\n \"email_verified\": \"${context.tokenset.email_verified}\",\n \"nickname\": \"${context.tokenset.nickname}\",\n \"picture\": \"${context.tokenset.picture}\",\n \"given_name\": \"${context.tokenset.given_name}\",\n \"family_name\": \"${context.tokenset.family_name}\",\n }),\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an OIDC connection.\n var oidc = new Auth0.Connection(\"oidc\", new()\n {\n Name = \"oidc-connection\",\n DisplayName = \"OIDC Connection\",\n Strategy = \"oidc\",\n ShowAsButton = false,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"1234567\",\n ClientSecret = \"1234567\",\n DomainAliases = new[]\n {\n \"example.com\",\n },\n TenantDomain = \"\",\n IconUrl = \"https://example.com/assets/logo.png\",\n Type = \"back_channel\",\n Issuer = \"https://www.paypalobjects.com\",\n JwksUri = \"https://api.paypal.com/v1/oauth2/certs\",\n DiscoveryUrl = \"https://www.paypalobjects.com/.well-known/openid-configuration\",\n TokenEndpoint = \"https://api.paypal.com/v1/oauth2/token\",\n UserinfoEndpoint = \"https://api.paypal.com/v1/oauth2/token/userinfo\",\n AuthorizationEndpoint = \"https://www.paypal.com/signin/authorize\",\n Scopes = new[]\n {\n \"openid\",\n \"email\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n ConnectionSettings = new Auth0.Inputs.ConnectionOptionsConnectionSettingsArgs\n {\n Pkce = \"auto\",\n },\n AttributeMap = new Auth0.Inputs.ConnectionOptionsAttributeMapArgs\n {\n MappingMode = \"use_map\",\n UserinfoScope = \"openid email profile groups\",\n Attributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"${context.tokenset.name}\",\n [\"email\"] = \"${context.tokenset.email}\",\n [\"email_verified\"] = \"${context.tokenset.email_verified}\",\n [\"nickname\"] = \"${context.tokenset.nickname}\",\n [\"picture\"] = \"${context.tokenset.picture}\",\n [\"given_name\"] = \"${context.tokenset.given_name}\",\n [\"family_name\"] = \"${context.tokenset.family_name}\",\n }),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": \"${context.tokenset.name}\",\n\t\t\t\"email\": \"${context.tokenset.email}\",\n\t\t\t\"email_verified\": \"${context.tokenset.email_verified}\",\n\t\t\t\"nickname\": \"${context.tokenset.nickname}\",\n\t\t\t\"picture\": \"${context.tokenset.picture}\",\n\t\t\t\"given_name\": \"${context.tokenset.given_name}\",\n\t\t\t\"family_name\": \"${context.tokenset.family_name}\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// This is an example of an OIDC connection.\n\t\t_, err = auth0.NewConnection(ctx, \"oidc\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"oidc-connection\"),\n\t\t\tDisplayName: pulumi.String(\"OIDC Connection\"),\n\t\t\tStrategy: pulumi.String(\"oidc\"),\n\t\t\tShowAsButton: pulumi.Bool(false),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"1234567\"),\n\t\t\t\tClientSecret: pulumi.String(\"1234567\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t\tTenantDomain: pulumi.String(\"\"),\n\t\t\t\tIconUrl: pulumi.String(\"https://example.com/assets/logo.png\"),\n\t\t\t\tType: pulumi.String(\"back_channel\"),\n\t\t\t\tIssuer: pulumi.String(\"https://www.paypalobjects.com\"),\n\t\t\t\tJwksUri: pulumi.String(\"https://api.paypal.com/v1/oauth2/certs\"),\n\t\t\t\tDiscoveryUrl: pulumi.String(\"https://www.paypalobjects.com/.well-known/openid-configuration\"),\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://api.paypal.com/v1/oauth2/token\"),\n\t\t\t\tUserinfoEndpoint: pulumi.String(\"https://api.paypal.com/v1/oauth2/token/userinfo\"),\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://www.paypal.com/signin/authorize\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t\tConnectionSettings: \u0026auth0.ConnectionOptionsConnectionSettingsArgs{\n\t\t\t\t\tPkce: pulumi.String(\"auto\"),\n\t\t\t\t},\n\t\t\t\tAttributeMap: \u0026auth0.ConnectionOptionsAttributeMapArgs{\n\t\t\t\t\tMappingMode: pulumi.String(\"use_map\"),\n\t\t\t\t\tUserinfoScope: pulumi.String(\"openid email profile groups\"),\n\t\t\t\t\tAttributes: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsConnectionSettingsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsAttributeMapArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an OIDC connection.\n var oidc = new Connection(\"oidc\", ConnectionArgs.builder()\n .name(\"oidc-connection\")\n .displayName(\"OIDC Connection\")\n .strategy(\"oidc\")\n .showAsButton(false)\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"1234567\")\n .clientSecret(\"1234567\")\n .domainAliases(\"example.com\")\n .tenantDomain(\"\")\n .iconUrl(\"https://example.com/assets/logo.png\")\n .type(\"back_channel\")\n .issuer(\"https://www.paypalobjects.com\")\n .jwksUri(\"https://api.paypal.com/v1/oauth2/certs\")\n .discoveryUrl(\"https://www.paypalobjects.com/.well-known/openid-configuration\")\n .tokenEndpoint(\"https://api.paypal.com/v1/oauth2/token\")\n .userinfoEndpoint(\"https://api.paypal.com/v1/oauth2/token/userinfo\")\n .authorizationEndpoint(\"https://www.paypal.com/signin/authorize\")\n .scopes( \n \"openid\",\n \"email\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .connectionSettings(ConnectionOptionsConnectionSettingsArgs.builder()\n .pkce(\"auto\")\n .build())\n .attributeMap(ConnectionOptionsAttributeMapArgs.builder()\n .mappingMode(\"use_map\")\n .userinfoScope(\"openid email profile groups\")\n .attributes(serializeJson(\n jsonObject(\n jsonProperty(\"name\", \"${context.tokenset.name}\"),\n jsonProperty(\"email\", \"${context.tokenset.email}\"),\n jsonProperty(\"email_verified\", \"${context.tokenset.email_verified}\"),\n jsonProperty(\"nickname\", \"${context.tokenset.nickname}\"),\n jsonProperty(\"picture\", \"${context.tokenset.picture}\"),\n jsonProperty(\"given_name\", \"${context.tokenset.given_name}\"),\n jsonProperty(\"family_name\", \"${context.tokenset.family_name}\")\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an OIDC connection.\n oidc:\n type: auth0:Connection\n properties:\n name: oidc-connection\n displayName: OIDC Connection\n strategy: oidc\n showAsButton: false\n options:\n clientId: '1234567'\n clientSecret: '1234567'\n domainAliases:\n - example.com\n tenantDomain:\n iconUrl: https://example.com/assets/logo.png\n type: back_channel\n issuer: https://www.paypalobjects.com\n jwksUri: https://api.paypal.com/v1/oauth2/certs\n discoveryUrl: https://www.paypalobjects.com/.well-known/openid-configuration\n tokenEndpoint: https://api.paypal.com/v1/oauth2/token\n userinfoEndpoint: https://api.paypal.com/v1/oauth2/token/userinfo\n authorizationEndpoint: https://www.paypal.com/signin/authorize\n scopes:\n - openid\n - email\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n connectionSettings:\n pkce: auto\n attributeMap:\n mappingMode: use_map\n userinfoScope: openid email profile groups\n attributes:\n fn::toJSON:\n name: ${context.tokenset.name}\n email: ${context.tokenset.email}\n email_verified: ${context.tokenset.email_verified}\n nickname: ${context.tokenset.nickname}\n picture: ${context.tokenset.picture}\n given_name: ${context.tokenset.given_name}\n family_name: ${context.tokenset.family_name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Okta Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Okta Workforce connection.\nconst okta = new auth0.Connection(\"okta\", {\n name: \"okta-connection\",\n displayName: \"Okta Workforce Connection\",\n strategy: \"okta\",\n showAsButton: false,\n options: {\n clientId: \"1234567\",\n clientSecret: \"1234567\",\n domain: \"example.okta.com\",\n domainAliases: [\"example.com\"],\n issuer: \"https://example.okta.com\",\n jwksUri: \"https://example.okta.com/oauth2/v1/keys\",\n tokenEndpoint: \"https://example.okta.com/oauth2/v1/token\",\n userinfoEndpoint: \"https://example.okta.com/oauth2/v1/userinfo\",\n authorizationEndpoint: \"https://example.okta.com/oauth2/v1/authorize\",\n scopes: [\n \"openid\",\n \"email\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n connectionSettings: {\n pkce: \"auto\",\n },\n attributeMap: {\n mappingMode: \"basic_profile\",\n userinfoScope: \"openid email profile groups\",\n attributes: JSON.stringify({\n name: \"${context.tokenset.name}\",\n email: \"${context.tokenset.email}\",\n email_verified: \"${context.tokenset.email_verified}\",\n nickname: \"${context.tokenset.nickname}\",\n picture: \"${context.tokenset.picture}\",\n given_name: \"${context.tokenset.given_name}\",\n family_name: \"${context.tokenset.family_name}\",\n }),\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of an Okta Workforce connection.\nokta = auth0.Connection(\"okta\",\n name=\"okta-connection\",\n display_name=\"Okta Workforce Connection\",\n strategy=\"okta\",\n show_as_button=False,\n options={\n \"client_id\": \"1234567\",\n \"client_secret\": \"1234567\",\n \"domain\": \"example.okta.com\",\n \"domain_aliases\": [\"example.com\"],\n \"issuer\": \"https://example.okta.com\",\n \"jwks_uri\": \"https://example.okta.com/oauth2/v1/keys\",\n \"token_endpoint\": \"https://example.okta.com/oauth2/v1/token\",\n \"userinfo_endpoint\": \"https://example.okta.com/oauth2/v1/userinfo\",\n \"authorization_endpoint\": \"https://example.okta.com/oauth2/v1/authorize\",\n \"scopes\": [\n \"openid\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"connection_settings\": {\n \"pkce\": \"auto\",\n },\n \"attribute_map\": {\n \"mapping_mode\": \"basic_profile\",\n \"userinfo_scope\": \"openid email profile groups\",\n \"attributes\": json.dumps({\n \"name\": \"${context.tokenset.name}\",\n \"email\": \"${context.tokenset.email}\",\n \"email_verified\": \"${context.tokenset.email_verified}\",\n \"nickname\": \"${context.tokenset.nickname}\",\n \"picture\": \"${context.tokenset.picture}\",\n \"given_name\": \"${context.tokenset.given_name}\",\n \"family_name\": \"${context.tokenset.family_name}\",\n }),\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Okta Workforce connection.\n var okta = new Auth0.Connection(\"okta\", new()\n {\n Name = \"okta-connection\",\n DisplayName = \"Okta Workforce Connection\",\n Strategy = \"okta\",\n ShowAsButton = false,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"1234567\",\n ClientSecret = \"1234567\",\n Domain = \"example.okta.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n },\n Issuer = \"https://example.okta.com\",\n JwksUri = \"https://example.okta.com/oauth2/v1/keys\",\n TokenEndpoint = \"https://example.okta.com/oauth2/v1/token\",\n UserinfoEndpoint = \"https://example.okta.com/oauth2/v1/userinfo\",\n AuthorizationEndpoint = \"https://example.okta.com/oauth2/v1/authorize\",\n Scopes = new[]\n {\n \"openid\",\n \"email\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n ConnectionSettings = new Auth0.Inputs.ConnectionOptionsConnectionSettingsArgs\n {\n Pkce = \"auto\",\n },\n AttributeMap = new Auth0.Inputs.ConnectionOptionsAttributeMapArgs\n {\n MappingMode = \"basic_profile\",\n UserinfoScope = \"openid email profile groups\",\n Attributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"${context.tokenset.name}\",\n [\"email\"] = \"${context.tokenset.email}\",\n [\"email_verified\"] = \"${context.tokenset.email_verified}\",\n [\"nickname\"] = \"${context.tokenset.nickname}\",\n [\"picture\"] = \"${context.tokenset.picture}\",\n [\"given_name\"] = \"${context.tokenset.given_name}\",\n [\"family_name\"] = \"${context.tokenset.family_name}\",\n }),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": \"${context.tokenset.name}\",\n\t\t\t\"email\": \"${context.tokenset.email}\",\n\t\t\t\"email_verified\": \"${context.tokenset.email_verified}\",\n\t\t\t\"nickname\": \"${context.tokenset.nickname}\",\n\t\t\t\"picture\": \"${context.tokenset.picture}\",\n\t\t\t\"given_name\": \"${context.tokenset.given_name}\",\n\t\t\t\"family_name\": \"${context.tokenset.family_name}\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// This is an example of an Okta Workforce connection.\n\t\t_, err = auth0.NewConnection(ctx, \"okta\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"okta-connection\"),\n\t\t\tDisplayName: pulumi.String(\"Okta Workforce Connection\"),\n\t\t\tStrategy: pulumi.String(\"okta\"),\n\t\t\tShowAsButton: pulumi.Bool(false),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"1234567\"),\n\t\t\t\tClientSecret: pulumi.String(\"1234567\"),\n\t\t\t\tDomain: pulumi.String(\"example.okta.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t\tIssuer: pulumi.String(\"https://example.okta.com\"),\n\t\t\t\tJwksUri: pulumi.String(\"https://example.okta.com/oauth2/v1/keys\"),\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.okta.com/oauth2/v1/token\"),\n\t\t\t\tUserinfoEndpoint: pulumi.String(\"https://example.okta.com/oauth2/v1/userinfo\"),\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.okta.com/oauth2/v1/authorize\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tConnectionSettings: \u0026auth0.ConnectionOptionsConnectionSettingsArgs{\n\t\t\t\t\tPkce: pulumi.String(\"auto\"),\n\t\t\t\t},\n\t\t\t\tAttributeMap: \u0026auth0.ConnectionOptionsAttributeMapArgs{\n\t\t\t\t\tMappingMode: pulumi.String(\"basic_profile\"),\n\t\t\t\t\tUserinfoScope: pulumi.String(\"openid email profile groups\"),\n\t\t\t\t\tAttributes: pulumi.String(json1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsConnectionSettingsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsAttributeMapArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Okta Workforce connection.\n var okta = new Connection(\"okta\", ConnectionArgs.builder()\n .name(\"okta-connection\")\n .displayName(\"Okta Workforce Connection\")\n .strategy(\"okta\")\n .showAsButton(false)\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"1234567\")\n .clientSecret(\"1234567\")\n .domain(\"example.okta.com\")\n .domainAliases(\"example.com\")\n .issuer(\"https://example.okta.com\")\n .jwksUri(\"https://example.okta.com/oauth2/v1/keys\")\n .tokenEndpoint(\"https://example.okta.com/oauth2/v1/token\")\n .userinfoEndpoint(\"https://example.okta.com/oauth2/v1/userinfo\")\n .authorizationEndpoint(\"https://example.okta.com/oauth2/v1/authorize\")\n .scopes( \n \"openid\",\n \"email\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .connectionSettings(ConnectionOptionsConnectionSettingsArgs.builder()\n .pkce(\"auto\")\n .build())\n .attributeMap(ConnectionOptionsAttributeMapArgs.builder()\n .mappingMode(\"basic_profile\")\n .userinfoScope(\"openid email profile groups\")\n .attributes(serializeJson(\n jsonObject(\n jsonProperty(\"name\", \"${context.tokenset.name}\"),\n jsonProperty(\"email\", \"${context.tokenset.email}\"),\n jsonProperty(\"email_verified\", \"${context.tokenset.email_verified}\"),\n jsonProperty(\"nickname\", \"${context.tokenset.nickname}\"),\n jsonProperty(\"picture\", \"${context.tokenset.picture}\"),\n jsonProperty(\"given_name\", \"${context.tokenset.given_name}\"),\n jsonProperty(\"family_name\", \"${context.tokenset.family_name}\")\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Okta Workforce connection.\n okta:\n type: auth0:Connection\n properties:\n name: okta-connection\n displayName: Okta Workforce Connection\n strategy: okta\n showAsButton: false\n options:\n clientId: '1234567'\n clientSecret: '1234567'\n domain: example.okta.com\n domainAliases:\n - example.com\n issuer: https://example.okta.com\n jwksUri: https://example.okta.com/oauth2/v1/keys\n tokenEndpoint: https://example.okta.com/oauth2/v1/token\n userinfoEndpoint: https://example.okta.com/oauth2/v1/userinfo\n authorizationEndpoint: https://example.okta.com/oauth2/v1/authorize\n scopes:\n - openid\n - email\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n connectionSettings:\n pkce: auto\n attributeMap:\n mappingMode: basic_profile\n userinfoScope: openid email profile groups\n attributes:\n fn::toJSON:\n name: ${context.tokenset.name}\n email: ${context.tokenset.email}\n email_verified: ${context.tokenset.email_verified}\n nickname: ${context.tokenset.nickname}\n picture: ${context.tokenset.picture}\n given_name: ${context.tokenset.given_name}\n family_name: ${context.tokenset.family_name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the connection ID.\n\n#\n\nExample:\n\n```sh\n$ pulumi import auth0:index/connection:Connection google \"con_a17f21fdb24d48a0\"\n```\n\n", + "description": "With Auth0, you can define sources of users, otherwise known as connections, which may include identity providers (such as Google or LinkedIn), databases, or passwordless authentication methods. This resource allows you to configure and manage connections to be used with your clients and users.\n\n\u003e The Auth0 dashboard displays only one connection per social provider. Although the Auth0 Management API allows the\ncreation of multiple connections per strategy, the additional connections may not be visible in the Auth0 dashboard.\n\n\n## Example Usage\n\n### Auth0 Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Auth0 connection.\nconst myConnection = new auth0.Connection(\"my_connection\", {\n name: \"Example-Connection\",\n isDomainConnection: true,\n strategy: \"auth0\",\n metadata: {\n key1: \"foo\",\n key2: \"bar\",\n },\n options: {\n passwordPolicy: \"excellent\",\n bruteForceProtection: true,\n strategyVersion: 2,\n enabledDatabaseCustomization: true,\n importMode: false,\n requiresUsername: true,\n disableSignup: false,\n customScripts: {\n get_user: ` function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n`,\n },\n configuration: {\n foo: \"bar\",\n bar: \"baz\",\n },\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n passwordHistories: [{\n enable: true,\n size: 3,\n }],\n passwordNoPersonalInfo: {\n enable: true,\n },\n passwordDictionary: {\n enable: true,\n dictionaries: [\n \"password\",\n \"admin\",\n \"1234\",\n ],\n },\n passwordComplexityOptions: {\n minLength: 12,\n },\n validation: {\n username: {\n min: 10,\n max: 40,\n },\n },\n mfa: {\n active: true,\n returnEnrollSettings: true,\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of an Auth0 connection.\nmy_connection = auth0.Connection(\"my_connection\",\n name=\"Example-Connection\",\n is_domain_connection=True,\n strategy=\"auth0\",\n metadata={\n \"key1\": \"foo\",\n \"key2\": \"bar\",\n },\n options={\n \"password_policy\": \"excellent\",\n \"brute_force_protection\": True,\n \"strategy_version\": 2,\n \"enabled_database_customization\": True,\n \"import_mode\": False,\n \"requires_username\": True,\n \"disable_signup\": False,\n \"custom_scripts\": {\n \"get_user\": \"\"\" function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n\"\"\",\n },\n \"configuration\": {\n \"foo\": \"bar\",\n \"bar\": \"baz\",\n },\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"password_histories\": [{\n \"enable\": True,\n \"size\": 3,\n }],\n \"password_no_personal_info\": {\n \"enable\": True,\n },\n \"password_dictionary\": {\n \"enable\": True,\n \"dictionaries\": [\n \"password\",\n \"admin\",\n \"1234\",\n ],\n },\n \"password_complexity_options\": {\n \"min_length\": 12,\n },\n \"validation\": {\n \"username\": {\n \"min\": 10,\n \"max\": 40,\n },\n },\n \"mfa\": {\n \"active\": True,\n \"return_enroll_settings\": True,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Auth0 connection.\n var myConnection = new Auth0.Connection(\"my_connection\", new()\n {\n Name = \"Example-Connection\",\n IsDomainConnection = true,\n Strategy = \"auth0\",\n Metadata = \n {\n { \"key1\", \"foo\" },\n { \"key2\", \"bar\" },\n },\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n PasswordPolicy = \"excellent\",\n BruteForceProtection = true,\n StrategyVersion = 2,\n EnabledDatabaseCustomization = true,\n ImportMode = false,\n RequiresUsername = true,\n DisableSignup = false,\n CustomScripts = \n {\n { \"get_user\", @\" function getByEmail(email, callback) {\n return callback(new Error(\"\"Whoops!\"\"));\n }\n\" },\n },\n Configuration = \n {\n { \"foo\", \"bar\" },\n { \"bar\", \"baz\" },\n },\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n PasswordHistories = new[]\n {\n new Auth0.Inputs.ConnectionOptionsPasswordHistoryArgs\n {\n Enable = true,\n Size = 3,\n },\n },\n PasswordNoPersonalInfo = new Auth0.Inputs.ConnectionOptionsPasswordNoPersonalInfoArgs\n {\n Enable = true,\n },\n PasswordDictionary = new Auth0.Inputs.ConnectionOptionsPasswordDictionaryArgs\n {\n Enable = true,\n Dictionaries = new[]\n {\n \"password\",\n \"admin\",\n \"1234\",\n },\n },\n PasswordComplexityOptions = new Auth0.Inputs.ConnectionOptionsPasswordComplexityOptionsArgs\n {\n MinLength = 12,\n },\n Validation = new Auth0.Inputs.ConnectionOptionsValidationArgs\n {\n Username = new Auth0.Inputs.ConnectionOptionsValidationUsernameArgs\n {\n Min = 10,\n Max = 40,\n },\n },\n Mfa = new Auth0.Inputs.ConnectionOptionsMfaArgs\n {\n Active = true,\n ReturnEnrollSettings = true,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// This is an example of an Auth0 connection.\n\t\t_, err = auth0.NewConnection(ctx, \"my_connection\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Example-Connection\"),\n\t\t\tIsDomainConnection: pulumi.Bool(true),\n\t\t\tStrategy: pulumi.String(\"auth0\"),\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"foo\"),\n\t\t\t\t\"key2\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tPasswordPolicy: pulumi.String(\"excellent\"),\n\t\t\t\tBruteForceProtection: pulumi.Bool(true),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tEnabledDatabaseCustomization: pulumi.Bool(true),\n\t\t\t\tImportMode: pulumi.Bool(false),\n\t\t\t\tRequiresUsername: pulumi.Bool(true),\n\t\t\t\tDisableSignup: pulumi.Bool(false),\n\t\t\t\tCustomScripts: pulumi.StringMap{\n\t\t\t\t\t\"get_user\": pulumi.String(\" function getByEmail(email, callback) {\\n return callback(new Error(\\\"Whoops!\\\"));\\n }\\n\"),\n\t\t\t\t},\n\t\t\t\tConfiguration: pulumi.StringMap{\n\t\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\t\"bar\": pulumi.String(\"baz\"),\n\t\t\t\t},\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tPasswordHistories: auth0.ConnectionOptionsPasswordHistoryArray{\n\t\t\t\t\t\u0026auth0.ConnectionOptionsPasswordHistoryArgs{\n\t\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\t\tSize: pulumi.Int(3),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPasswordNoPersonalInfo: \u0026auth0.ConnectionOptionsPasswordNoPersonalInfoArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPasswordDictionary: \u0026auth0.ConnectionOptionsPasswordDictionaryArgs{\n\t\t\t\t\tEnable: pulumi.Bool(true),\n\t\t\t\t\tDictionaries: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"password\"),\n\t\t\t\t\t\tpulumi.String(\"admin\"),\n\t\t\t\t\t\tpulumi.String(\"1234\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPasswordComplexityOptions: \u0026auth0.ConnectionOptionsPasswordComplexityOptionsArgs{\n\t\t\t\t\tMinLength: pulumi.Int(12),\n\t\t\t\t},\n\t\t\t\tValidation: \u0026auth0.ConnectionOptionsValidationArgs{\n\t\t\t\t\tUsername: \u0026auth0.ConnectionOptionsValidationUsernameArgs{\n\t\t\t\t\t\tMin: pulumi.Int(10),\n\t\t\t\t\t\tMax: pulumi.Int(40),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tMfa: \u0026auth0.ConnectionOptionsMfaArgs{\n\t\t\t\t\tActive: pulumi.Bool(true),\n\t\t\t\t\tReturnEnrollSettings: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsPasswordNoPersonalInfoArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsPasswordDictionaryArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsPasswordComplexityOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsValidationArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsValidationUsernameArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsMfaArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Auth0 connection.\n var myConnection = new Connection(\"myConnection\", ConnectionArgs.builder()\n .name(\"Example-Connection\")\n .isDomainConnection(true)\n .strategy(\"auth0\")\n .metadata(Map.ofEntries(\n Map.entry(\"key1\", \"foo\"),\n Map.entry(\"key2\", \"bar\")\n ))\n .options(ConnectionOptionsArgs.builder()\n .passwordPolicy(\"excellent\")\n .bruteForceProtection(true)\n .strategyVersion(2)\n .enabledDatabaseCustomization(true)\n .importMode(false)\n .requiresUsername(true)\n .disableSignup(false)\n .customScripts(Map.of(\"get_user\", \"\"\"\n function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n \"\"\"))\n .configuration(Map.ofEntries(\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"bar\", \"baz\")\n ))\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .passwordHistories(ConnectionOptionsPasswordHistoryArgs.builder()\n .enable(true)\n .size(3)\n .build())\n .passwordNoPersonalInfo(ConnectionOptionsPasswordNoPersonalInfoArgs.builder()\n .enable(true)\n .build())\n .passwordDictionary(ConnectionOptionsPasswordDictionaryArgs.builder()\n .enable(true)\n .dictionaries( \n \"password\",\n \"admin\",\n \"1234\")\n .build())\n .passwordComplexityOptions(ConnectionOptionsPasswordComplexityOptionsArgs.builder()\n .minLength(12)\n .build())\n .validation(ConnectionOptionsValidationArgs.builder()\n .username(ConnectionOptionsValidationUsernameArgs.builder()\n .min(10)\n .max(40)\n .build())\n .build())\n .mfa(ConnectionOptionsMfaArgs.builder()\n .active(true)\n .returnEnrollSettings(true)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Auth0 connection.\n myConnection:\n type: auth0:Connection\n name: my_connection\n properties:\n name: Example-Connection\n isDomainConnection: true\n strategy: auth0\n metadata:\n key1: foo\n key2: bar\n options:\n passwordPolicy: excellent\n bruteForceProtection: true\n strategyVersion: 2\n enabledDatabaseCustomization: true\n importMode: false\n requiresUsername: true\n disableSignup: false\n customScripts:\n get_user: |2\n function getByEmail(email, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n configuration:\n foo: bar\n bar: baz\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n passwordHistories:\n - enable: true\n size: 3\n passwordNoPersonalInfo:\n enable: true\n passwordDictionary:\n enable: true\n dictionaries:\n - password\n - admin\n - '1234'\n passwordComplexityOptions:\n minLength: 12\n validation:\n username:\n min: 10\n max: 40\n mfa:\n active: true\n returnEnrollSettings: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google OAuth2 Connection\n\n\u003e Your Auth0 account may be pre-configured with a `google-oauth2` connection.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a Google OAuth2 connection.\nconst googleOauth2 = new auth0.Connection(\"google_oauth2\", {\n name: \"Google-OAuth2-Connection\",\n strategy: \"google-oauth2\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n allowedAudiences: [\n \"example.com\",\n \"api.example.com\",\n ],\n scopes: [\n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of a Google OAuth2 connection.\ngoogle_oauth2 = auth0.Connection(\"google_oauth2\",\n name=\"Google-OAuth2-Connection\",\n strategy=\"google-oauth2\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"allowed_audiences\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"scopes\": [\n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a Google OAuth2 connection.\n var googleOauth2 = new Auth0.Connection(\"google_oauth2\", new()\n {\n Name = \"Google-OAuth2-Connection\",\n Strategy = \"google-oauth2\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n AllowedAudiences = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n Scopes = new[]\n {\n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of a Google OAuth2 connection.\n\t\t_, err := auth0.NewConnection(ctx, \"google_oauth2\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Google-OAuth2-Connection\"),\n\t\t\tStrategy: pulumi.String(\"google-oauth2\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tAllowedAudiences: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"gmail\"),\n\t\t\t\t\tpulumi.String(\"youtube\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a Google OAuth2 connection.\n var googleOauth2 = new Connection(\"googleOauth2\", ConnectionArgs.builder()\n .name(\"Google-OAuth2-Connection\")\n .strategy(\"google-oauth2\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .allowedAudiences( \n \"example.com\",\n \"api.example.com\")\n .scopes( \n \"email\",\n \"profile\",\n \"gmail\",\n \"youtube\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a Google OAuth2 connection.\n googleOauth2:\n type: auth0:Connection\n name: google_oauth2\n properties:\n name: Google-OAuth2-Connection\n strategy: google-oauth2\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n allowedAudiences:\n - example.com\n - api.example.com\n scopes:\n - email\n - profile\n - gmail\n - youtube\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Google Apps\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\nconst googleApps = new auth0.Connection(\"google_apps\", {\n name: \"connection-google-apps\",\n isDomainConnection: false,\n strategy: \"google-apps\",\n showAsButton: false,\n options: {\n clientId: \"\",\n clientSecret: \"\",\n domain: \"example.com\",\n tenantDomain: \"example.com\",\n domainAliases: [\n \"example.com\",\n \"api.example.com\",\n ],\n apiEnableUsers: true,\n scopes: [\n \"ext_profile\",\n \"ext_groups\",\n ],\n iconUrl: \"https://example.com/assets/logo.png\",\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\ngoogle_apps = auth0.Connection(\"google_apps\",\n name=\"connection-google-apps\",\n is_domain_connection=False,\n strategy=\"google-apps\",\n show_as_button=False,\n options={\n \"client_id\": \"\",\n \"client_secret\": \"\",\n \"domain\": \"example.com\",\n \"tenant_domain\": \"example.com\",\n \"domain_aliases\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"api_enable_users\": True,\n \"scopes\": [\n \"ext_profile\",\n \"ext_groups\",\n ],\n \"icon_url\": \"https://example.com/assets/logo.png\",\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var googleApps = new Auth0.Connection(\"google_apps\", new()\n {\n Name = \"connection-google-apps\",\n IsDomainConnection = false,\n Strategy = \"google-apps\",\n ShowAsButton = false,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\",\n ClientSecret = \"\",\n Domain = \"example.com\",\n TenantDomain = \"example.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n ApiEnableUsers = true,\n Scopes = new[]\n {\n \"ext_profile\",\n \"ext_groups\",\n },\n IconUrl = \"https://example.com/assets/logo.png\",\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = auth0.NewConnection(ctx, \"google_apps\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"connection-google-apps\"),\n\t\t\tIsDomainConnection: pulumi.Bool(false),\n\t\t\tStrategy: pulumi.String(\"google-apps\"),\n\t\t\tShowAsButton: pulumi.Bool(false),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\"),\n\t\t\t\tClientSecret: pulumi.String(\"\"),\n\t\t\t\tDomain: pulumi.String(\"example.com\"),\n\t\t\t\tTenantDomain: pulumi.String(\"example.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tApiEnableUsers: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ext_profile\"),\n\t\t\t\t\tpulumi.String(\"ext_groups\"),\n\t\t\t\t},\n\t\t\t\tIconUrl: pulumi.String(\"https://example.com/assets/logo.png\"),\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var googleApps = new Connection(\"googleApps\", ConnectionArgs.builder()\n .name(\"connection-google-apps\")\n .isDomainConnection(false)\n .strategy(\"google-apps\")\n .showAsButton(false)\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\")\n .clientSecret(\"\")\n .domain(\"example.com\")\n .tenantDomain(\"example.com\")\n .domainAliases( \n \"example.com\",\n \"api.example.com\")\n .apiEnableUsers(true)\n .scopes( \n \"ext_profile\",\n \"ext_groups\")\n .iconUrl(\"https://example.com/assets/logo.png\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n googleApps:\n type: auth0:Connection\n name: google_apps\n properties:\n name: connection-google-apps\n isDomainConnection: false\n strategy: google-apps\n showAsButton: false\n options:\n clientId:\n clientSecret:\n domain: example.com\n tenantDomain: example.com\n domainAliases:\n - example.com\n - api.example.com\n apiEnableUsers: true\n scopes:\n - ext_profile\n - ext_groups\n iconUrl: https://example.com/assets/logo.png\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Facebook Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a Facebook connection.\nconst facebook = new auth0.Connection(\"facebook\", {\n name: \"Facebook-Connection\",\n strategy: \"facebook\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n scopes: [\n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of a Facebook connection.\nfacebook = auth0.Connection(\"facebook\",\n name=\"Facebook-Connection\",\n strategy=\"facebook\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"scopes\": [\n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a Facebook connection.\n var facebook = new Auth0.Connection(\"facebook\", new()\n {\n Name = \"Facebook-Connection\",\n Strategy = \"facebook\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n Scopes = new[]\n {\n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of a Facebook connection.\n\t\t_, err := auth0.NewConnection(ctx, \"facebook\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Facebook-Connection\"),\n\t\t\tStrategy: pulumi.String(\"facebook\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"public_profile\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"groups_access_member_info\"),\n\t\t\t\t\tpulumi.String(\"user_birthday\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a Facebook connection.\n var facebook = new Connection(\"facebook\", ConnectionArgs.builder()\n .name(\"Facebook-Connection\")\n .strategy(\"facebook\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .scopes( \n \"public_profile\",\n \"email\",\n \"groups_access_member_info\",\n \"user_birthday\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a Facebook connection.\n facebook:\n type: auth0:Connection\n properties:\n name: Facebook-Connection\n strategy: facebook\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n scopes:\n - public_profile\n - email\n - groups_access_member_info\n - user_birthday\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Apple Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Apple connection.\nconst apple = new auth0.Connection(\"apple\", {\n name: \"Apple-Connection\",\n strategy: \"apple\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: `-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY-----`,\n teamId: \"\u003cteam-id\u003e\",\n keyId: \"\u003ckey-id\u003e\",\n scopes: [\n \"email\",\n \"name\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an Apple connection.\napple = auth0.Connection(\"apple\",\n name=\"Apple-Connection\",\n strategy=\"apple\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\"\"-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY-----\"\"\",\n \"team_id\": \"\u003cteam-id\u003e\",\n \"key_id\": \"\u003ckey-id\u003e\",\n \"scopes\": [\n \"email\",\n \"name\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Apple connection.\n var apple = new Auth0.Connection(\"apple\", new()\n {\n Name = \"Apple-Connection\",\n Strategy = \"apple\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = @\"-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY-----\",\n TeamId = \"\u003cteam-id\u003e\",\n KeyId = \"\u003ckey-id\u003e\",\n Scopes = new[]\n {\n \"email\",\n \"name\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an Apple connection.\n\t\t_, err := auth0.NewConnection(ctx, \"apple\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Apple-Connection\"),\n\t\t\tStrategy: pulumi.String(\"apple\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"-----BEGIN PRIVATE KEY-----\\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\\n-----END PRIVATE KEY-----\"),\n\t\t\t\tTeamId: pulumi.String(\"\u003cteam-id\u003e\"),\n\t\t\t\tKeyId: pulumi.String(\"\u003ckey-id\u003e\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"name\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Apple connection.\n var apple = new Connection(\"apple\", ConnectionArgs.builder()\n .name(\"Apple-Connection\")\n .strategy(\"apple\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\"\"\n-----BEGIN PRIVATE KEY-----\nMIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n-----END PRIVATE KEY----- \"\"\")\n .teamId(\"\u003cteam-id\u003e\")\n .keyId(\"\u003ckey-id\u003e\")\n .scopes( \n \"email\",\n \"name\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Apple connection.\n apple:\n type: auth0:Connection\n properties:\n name: Apple-Connection\n strategy: apple\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: |-\n -----BEGIN PRIVATE KEY-----\n MIHBAgEAMA0GCSqGSIb3DQEBAQUABIGsMIGpAgEAA\n -----END PRIVATE KEY-----\n teamId: \u003cteam-id\u003e\n keyId: \u003ckey-id\u003e\n scopes:\n - email\n - name\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### LinkedIn Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an LinkedIn connection.\nconst linkedin = new auth0.Connection(\"linkedin\", {\n name: \"Linkedin-Connection\",\n strategy: \"linkedin\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n strategyVersion: 2,\n scopes: [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an LinkedIn connection.\nlinkedin = auth0.Connection(\"linkedin\",\n name=\"Linkedin-Connection\",\n strategy=\"linkedin\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"strategy_version\": 2,\n \"scopes\": [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an LinkedIn connection.\n var linkedin = new Auth0.Connection(\"linkedin\", new()\n {\n Name = \"Linkedin-Connection\",\n Strategy = \"linkedin\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n StrategyVersion = 2,\n Scopes = new[]\n {\n \"basic_profile\",\n \"profile\",\n \"email\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an LinkedIn connection.\n\t\t_, err := auth0.NewConnection(ctx, \"linkedin\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Linkedin-Connection\"),\n\t\t\tStrategy: pulumi.String(\"linkedin\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"basic_profile\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an LinkedIn connection.\n var linkedin = new Connection(\"linkedin\", ConnectionArgs.builder()\n .name(\"Linkedin-Connection\")\n .strategy(\"linkedin\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .strategyVersion(2)\n .scopes( \n \"basic_profile\",\n \"profile\",\n \"email\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an LinkedIn connection.\n linkedin:\n type: auth0:Connection\n properties:\n name: Linkedin-Connection\n strategy: linkedin\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n strategyVersion: 2\n scopes:\n - basic_profile\n - profile\n - email\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### GitHub Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an GitHub connection.\nconst github = new auth0.Connection(\"github\", {\n name: \"GitHub-Connection\",\n strategy: \"github\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n scopes: [\n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an GitHub connection.\ngithub = auth0.Connection(\"github\",\n name=\"GitHub-Connection\",\n strategy=\"github\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"scopes\": [\n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an GitHub connection.\n var github = new Auth0.Connection(\"github\", new()\n {\n Name = \"GitHub-Connection\",\n Strategy = \"github\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n Scopes = new[]\n {\n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an GitHub connection.\n\t\t_, err := auth0.NewConnection(ctx, \"github\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"GitHub-Connection\"),\n\t\t\tStrategy: pulumi.String(\"github\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"public_repo\"),\n\t\t\t\t\tpulumi.String(\"repo\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an GitHub connection.\n var github = new Connection(\"github\", ConnectionArgs.builder()\n .name(\"GitHub-Connection\")\n .strategy(\"github\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .scopes( \n \"email\",\n \"profile\",\n \"public_repo\",\n \"repo\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an GitHub connection.\n github:\n type: auth0:Connection\n properties:\n name: GitHub-Connection\n strategy: github\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n scopes:\n - email\n - profile\n - public_repo\n - repo\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SalesForce Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an SalesForce connection.\nconst salesforce = new auth0.Connection(\"salesforce\", {\n name: \"Salesforce-Connection\",\n strategy: \"salesforce\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n communityBaseUrl: \"https://salesforce.example.com\",\n scopes: [\n \"openid\",\n \"email\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an SalesForce connection.\nsalesforce = auth0.Connection(\"salesforce\",\n name=\"Salesforce-Connection\",\n strategy=\"salesforce\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"community_base_url\": \"https://salesforce.example.com\",\n \"scopes\": [\n \"openid\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an SalesForce connection.\n var salesforce = new Auth0.Connection(\"salesforce\", new()\n {\n Name = \"Salesforce-Connection\",\n Strategy = \"salesforce\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n CommunityBaseUrl = \"https://salesforce.example.com\",\n Scopes = new[]\n {\n \"openid\",\n \"email\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an SalesForce connection.\n\t\t_, err := auth0.NewConnection(ctx, \"salesforce\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Salesforce-Connection\"),\n\t\t\tStrategy: pulumi.String(\"salesforce\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tCommunityBaseUrl: pulumi.String(\"https://salesforce.example.com\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an SalesForce connection.\n var salesforce = new Connection(\"salesforce\", ConnectionArgs.builder()\n .name(\"Salesforce-Connection\")\n .strategy(\"salesforce\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .communityBaseUrl(\"https://salesforce.example.com\")\n .scopes( \n \"openid\",\n \"email\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an SalesForce connection.\n salesforce:\n type: auth0:Connection\n properties:\n name: Salesforce-Connection\n strategy: salesforce\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n communityBaseUrl: https://salesforce.example.com\n scopes:\n - openid\n - email\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OAuth2 Connection\n\nAlso applies to following connection strategies: `dropbox`, `bitbucket`, `paypal`, `twitter`, `amazon`, `yahoo`, `box`, `wordpress`, `shopify`, `custom`\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an OAuth2 connection.\nconst oauth2 = new auth0.Connection(\"oauth2\", {\n name: \"OAuth2-Connection\",\n strategy: \"oauth2\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n strategyVersion: 2,\n scopes: [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n tokenEndpoint: \"https://auth.example.com/oauth2/token\",\n authorizationEndpoint: \"https://auth.example.com/oauth2/authorize\",\n pkceEnabled: true,\n iconUrl: \"https://auth.example.com/assets/logo.png\",\n scripts: {\n fetchUserProfile: ` function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n`,\n },\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an OAuth2 connection.\noauth2 = auth0.Connection(\"oauth2\",\n name=\"OAuth2-Connection\",\n strategy=\"oauth2\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"strategy_version\": 2,\n \"scopes\": [\n \"basic_profile\",\n \"profile\",\n \"email\",\n ],\n \"token_endpoint\": \"https://auth.example.com/oauth2/token\",\n \"authorization_endpoint\": \"https://auth.example.com/oauth2/authorize\",\n \"pkce_enabled\": True,\n \"icon_url\": \"https://auth.example.com/assets/logo.png\",\n \"scripts\": {\n \"fetch_user_profile\": \"\"\" function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n\"\"\",\n },\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an OAuth2 connection.\n var oauth2 = new Auth0.Connection(\"oauth2\", new()\n {\n Name = \"OAuth2-Connection\",\n Strategy = \"oauth2\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n StrategyVersion = 2,\n Scopes = new[]\n {\n \"basic_profile\",\n \"profile\",\n \"email\",\n },\n TokenEndpoint = \"https://auth.example.com/oauth2/token\",\n AuthorizationEndpoint = \"https://auth.example.com/oauth2/authorize\",\n PkceEnabled = true,\n IconUrl = \"https://auth.example.com/assets/logo.png\",\n Scripts = \n {\n { \"fetchUserProfile\", @\" function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"\"Whoops!\"\"));\n }\n\" },\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an OAuth2 connection.\n\t\t_, err := auth0.NewConnection(ctx, \"oauth2\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"OAuth2-Connection\"),\n\t\t\tStrategy: pulumi.String(\"oauth2\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"basic_profile\"),\n\t\t\t\t\tpulumi.String(\"profile\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://auth.example.com/oauth2/token\"),\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://auth.example.com/oauth2/authorize\"),\n\t\t\t\tPkceEnabled: pulumi.Bool(true),\n\t\t\t\tIconUrl: pulumi.String(\"https://auth.example.com/assets/logo.png\"),\n\t\t\t\tScripts: pulumi.StringMap{\n\t\t\t\t\t\"fetchUserProfile\": pulumi.String(\" function fetchUserProfile(accessToken, context, callback) {\\n return callback(new Error(\\\"Whoops!\\\"));\\n }\\n\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an OAuth2 connection.\n var oauth2 = new Connection(\"oauth2\", ConnectionArgs.builder()\n .name(\"OAuth2-Connection\")\n .strategy(\"oauth2\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .strategyVersion(2)\n .scopes( \n \"basic_profile\",\n \"profile\",\n \"email\")\n .tokenEndpoint(\"https://auth.example.com/oauth2/token\")\n .authorizationEndpoint(\"https://auth.example.com/oauth2/authorize\")\n .pkceEnabled(true)\n .iconUrl(\"https://auth.example.com/assets/logo.png\")\n .scripts(Map.of(\"fetchUserProfile\", \"\"\"\n function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n \"\"\"))\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an OAuth2 connection.\n oauth2:\n type: auth0:Connection\n properties:\n name: OAuth2-Connection\n strategy: oauth2\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n strategyVersion: 2\n scopes:\n - basic_profile\n - profile\n - email\n tokenEndpoint: https://auth.example.com/oauth2/token\n authorizationEndpoint: https://auth.example.com/oauth2/authorize\n pkceEnabled: true\n iconUrl: https://auth.example.com/assets/logo.png\n scripts:\n fetchUserProfile: |2\n function fetchUserProfile(accessToken, context, callback) {\n return callback(new Error(\"Whoops!\"));\n }\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Active Directory (AD)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\nconst ad = new auth0.Connection(\"ad\", {\n name: \"connection-active-directory\",\n displayName: \"Active Directory Connection\",\n strategy: \"ad\",\n showAsButton: true,\n options: {\n disableSelfServiceChangePassword: true,\n bruteForceProtection: true,\n tenantDomain: \"example.com\",\n strategyVersion: 2,\n iconUrl: \"https://example.com/assets/logo.png\",\n domainAliases: [\n \"example.com\",\n \"api.example.com\",\n ],\n ips: [\n \"192.168.1.1\",\n \"192.168.1.2\",\n ],\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n useCertAuth: false,\n useKerberos: false,\n disableCache: false,\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\nad = auth0.Connection(\"ad\",\n name=\"connection-active-directory\",\n display_name=\"Active Directory Connection\",\n strategy=\"ad\",\n show_as_button=True,\n options={\n \"disable_self_service_change_password\": True,\n \"brute_force_protection\": True,\n \"tenant_domain\": \"example.com\",\n \"strategy_version\": 2,\n \"icon_url\": \"https://example.com/assets/logo.png\",\n \"domain_aliases\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"ips\": [\n \"192.168.1.1\",\n \"192.168.1.2\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"use_cert_auth\": False,\n \"use_kerberos\": False,\n \"disable_cache\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ad = new Auth0.Connection(\"ad\", new()\n {\n Name = \"connection-active-directory\",\n DisplayName = \"Active Directory Connection\",\n Strategy = \"ad\",\n ShowAsButton = true,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n DisableSelfServiceChangePassword = true,\n BruteForceProtection = true,\n TenantDomain = \"example.com\",\n StrategyVersion = 2,\n IconUrl = \"https://example.com/assets/logo.png\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n Ips = new[]\n {\n \"192.168.1.1\",\n \"192.168.1.2\",\n },\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n UseCertAuth = false,\n UseKerberos = false,\n DisableCache = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = auth0.NewConnection(ctx, \"ad\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"connection-active-directory\"),\n\t\t\tDisplayName: pulumi.String(\"Active Directory Connection\"),\n\t\t\tStrategy: pulumi.String(\"ad\"),\n\t\t\tShowAsButton: pulumi.Bool(true),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tDisableSelfServiceChangePassword: pulumi.Bool(true),\n\t\t\t\tBruteForceProtection: pulumi.Bool(true),\n\t\t\t\tTenantDomain: pulumi.String(\"example.com\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tIconUrl: pulumi.String(\"https://example.com/assets/logo.png\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tIps: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"192.168.1.1\"),\n\t\t\t\t\tpulumi.String(\"192.168.1.2\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tUseCertAuth: pulumi.Bool(false),\n\t\t\t\tUseKerberos: pulumi.Bool(false),\n\t\t\t\tDisableCache: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var ad = new Connection(\"ad\", ConnectionArgs.builder()\n .name(\"connection-active-directory\")\n .displayName(\"Active Directory Connection\")\n .strategy(\"ad\")\n .showAsButton(true)\n .options(ConnectionOptionsArgs.builder()\n .disableSelfServiceChangePassword(true)\n .bruteForceProtection(true)\n .tenantDomain(\"example.com\")\n .strategyVersion(2)\n .iconUrl(\"https://example.com/assets/logo.png\")\n .domainAliases( \n \"example.com\",\n \"api.example.com\")\n .ips( \n \"192.168.1.1\",\n \"192.168.1.2\")\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .useCertAuth(false)\n .useKerberos(false)\n .disableCache(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n ad:\n type: auth0:Connection\n properties:\n name: connection-active-directory\n displayName: Active Directory Connection\n strategy: ad\n showAsButton: true\n options:\n disableSelfServiceChangePassword: true\n bruteForceProtection: true\n tenantDomain: example.com\n strategyVersion: 2\n iconUrl: https://example.com/assets/logo.png\n domainAliases:\n - example.com\n - api.example.com\n ips:\n - 192.168.1.1\n - 192.168.1.2\n setUserRootAttributes: on_each_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n useCertAuth: false\n useKerberos: false\n disableCache: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Azure AD Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\nconst azureAd = new auth0.Connection(\"azure_ad\", {\n name: \"connection-azure-ad\",\n strategy: \"waad\",\n showAsButton: true,\n options: {\n identityApi: \"azure-active-directory-v1.0\",\n clientId: \"123456\",\n clientSecret: \"123456\",\n strategyVersion: 2,\n userIdAttribute: \"oid\",\n appId: \"app-id-123\",\n tenantDomain: \"example.onmicrosoft.com\",\n domain: \"example.onmicrosoft.com\",\n domainAliases: [\n \"example.com\",\n \"api.example.com\",\n ],\n iconUrl: \"https://example.onmicrosoft.com/assets/logo.png\",\n useWsfed: false,\n waadProtocol: \"openid-connect\",\n waadCommonEndpoint: false,\n maxGroupsToRetrieve: \"250\",\n apiEnableUsers: true,\n scopes: [\n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\",\n ],\n setUserRootAttributes: \"on_each_login\",\n shouldTrustEmailVerifiedConnection: \"never_set_emails_as_verified\",\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\nazure_ad = auth0.Connection(\"azure_ad\",\n name=\"connection-azure-ad\",\n strategy=\"waad\",\n show_as_button=True,\n options={\n \"identity_api\": \"azure-active-directory-v1.0\",\n \"client_id\": \"123456\",\n \"client_secret\": \"123456\",\n \"strategy_version\": 2,\n \"user_id_attribute\": \"oid\",\n \"app_id\": \"app-id-123\",\n \"tenant_domain\": \"example.onmicrosoft.com\",\n \"domain\": \"example.onmicrosoft.com\",\n \"domain_aliases\": [\n \"example.com\",\n \"api.example.com\",\n ],\n \"icon_url\": \"https://example.onmicrosoft.com/assets/logo.png\",\n \"use_wsfed\": False,\n \"waad_protocol\": \"openid-connect\",\n \"waad_common_endpoint\": False,\n \"max_groups_to_retrieve\": \"250\",\n \"api_enable_users\": True,\n \"scopes\": [\n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\",\n ],\n \"set_user_root_attributes\": \"on_each_login\",\n \"should_trust_email_verified_connection\": \"never_set_emails_as_verified\",\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var azureAd = new Auth0.Connection(\"azure_ad\", new()\n {\n Name = \"connection-azure-ad\",\n Strategy = \"waad\",\n ShowAsButton = true,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n IdentityApi = \"azure-active-directory-v1.0\",\n ClientId = \"123456\",\n ClientSecret = \"123456\",\n StrategyVersion = 2,\n UserIdAttribute = \"oid\",\n AppId = \"app-id-123\",\n TenantDomain = \"example.onmicrosoft.com\",\n Domain = \"example.onmicrosoft.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"api.example.com\",\n },\n IconUrl = \"https://example.onmicrosoft.com/assets/logo.png\",\n UseWsfed = false,\n WaadProtocol = \"openid-connect\",\n WaadCommonEndpoint = false,\n MaxGroupsToRetrieve = \"250\",\n ApiEnableUsers = true,\n Scopes = new[]\n {\n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\",\n },\n SetUserRootAttributes = \"on_each_login\",\n ShouldTrustEmailVerifiedConnection = \"never_set_emails_as_verified\",\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = auth0.NewConnection(ctx, \"azure_ad\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"connection-azure-ad\"),\n\t\t\tStrategy: pulumi.String(\"waad\"),\n\t\t\tShowAsButton: pulumi.Bool(true),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tIdentityApi: pulumi.String(\"azure-active-directory-v1.0\"),\n\t\t\t\tClientId: pulumi.String(\"123456\"),\n\t\t\t\tClientSecret: pulumi.String(\"123456\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tUserIdAttribute: pulumi.String(\"oid\"),\n\t\t\t\tAppId: pulumi.String(\"app-id-123\"),\n\t\t\t\tTenantDomain: pulumi.String(\"example.onmicrosoft.com\"),\n\t\t\t\tDomain: pulumi.String(\"example.onmicrosoft.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"api.example.com\"),\n\t\t\t\t},\n\t\t\t\tIconUrl: pulumi.String(\"https://example.onmicrosoft.com/assets/logo.png\"),\n\t\t\t\tUseWsfed: pulumi.Bool(false),\n\t\t\t\tWaadProtocol: pulumi.String(\"openid-connect\"),\n\t\t\t\tWaadCommonEndpoint: pulumi.Bool(false),\n\t\t\t\tMaxGroupsToRetrieve: pulumi.String(\"250\"),\n\t\t\t\tApiEnableUsers: pulumi.Bool(true),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"basic_profile\"),\n\t\t\t\t\tpulumi.String(\"ext_groups\"),\n\t\t\t\t\tpulumi.String(\"ext_profile\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tShouldTrustEmailVerifiedConnection: pulumi.String(\"never_set_emails_as_verified\"),\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var azureAd = new Connection(\"azureAd\", ConnectionArgs.builder()\n .name(\"connection-azure-ad\")\n .strategy(\"waad\")\n .showAsButton(true)\n .options(ConnectionOptionsArgs.builder()\n .identityApi(\"azure-active-directory-v1.0\")\n .clientId(\"123456\")\n .clientSecret(\"123456\")\n .strategyVersion(2)\n .userIdAttribute(\"oid\")\n .appId(\"app-id-123\")\n .tenantDomain(\"example.onmicrosoft.com\")\n .domain(\"example.onmicrosoft.com\")\n .domainAliases( \n \"example.com\",\n \"api.example.com\")\n .iconUrl(\"https://example.onmicrosoft.com/assets/logo.png\")\n .useWsfed(false)\n .waadProtocol(\"openid-connect\")\n .waadCommonEndpoint(false)\n .maxGroupsToRetrieve(250)\n .apiEnableUsers(true)\n .scopes( \n \"basic_profile\",\n \"ext_groups\",\n \"ext_profile\")\n .setUserRootAttributes(\"on_each_login\")\n .shouldTrustEmailVerifiedConnection(\"never_set_emails_as_verified\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n azureAd:\n type: auth0:Connection\n name: azure_ad\n properties:\n name: connection-azure-ad\n strategy: waad\n showAsButton: true\n options:\n identityApi: azure-active-directory-v1.0\n clientId: '123456'\n clientSecret: '123456'\n strategyVersion: 2\n userIdAttribute: oid\n appId: app-id-123\n tenantDomain: example.onmicrosoft.com\n domain: example.onmicrosoft.com\n domainAliases:\n - example.com\n - api.example.com\n iconUrl: https://example.onmicrosoft.com/assets/logo.png\n useWsfed: false\n waadProtocol: openid-connect\n waadCommonEndpoint: false\n maxGroupsToRetrieve: 250\n apiEnableUsers: true\n scopes:\n - basic_profile\n - ext_groups\n - ext_profile\n setUserRootAttributes: on_each_login\n shouldTrustEmailVerifiedConnection: never_set_emails_as_verified\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Email Connection\n\n\u003e To be able to see this in the management dashboard as well, the name of the connection must be set to \"email\".\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Email connection.\nconst passwordlessEmail = new auth0.Connection(\"passwordless_email\", {\n strategy: \"email\",\n name: \"email\",\n options: {\n name: \"email\",\n from: \"{{ application.name }} \u003croot@auth0.com\u003e\",\n subject: \"Welcome to {{ application.name }}\",\n syntax: \"liquid\",\n template: \"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\",\n disableSignup: false,\n bruteForceProtection: true,\n setUserRootAttributes: \"on_each_login\",\n nonPersistentAttrs: [],\n authParams: {\n scope: \"openid email profile offline_access\",\n response_type: \"code\",\n },\n totp: {\n timeStep: 300,\n length: 6,\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of an Email connection.\npasswordless_email = auth0.Connection(\"passwordless_email\",\n strategy=\"email\",\n name=\"email\",\n options={\n \"name\": \"email\",\n \"from_\": \"{{ application.name }} \u003croot@auth0.com\u003e\",\n \"subject\": \"Welcome to {{ application.name }}\",\n \"syntax\": \"liquid\",\n \"template\": \"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\",\n \"disable_signup\": False,\n \"brute_force_protection\": True,\n \"set_user_root_attributes\": \"on_each_login\",\n \"non_persistent_attrs\": [],\n \"auth_params\": {\n \"scope\": \"openid email profile offline_access\",\n \"response_type\": \"code\",\n },\n \"totp\": {\n \"time_step\": 300,\n \"length\": 6,\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Email connection.\n var passwordlessEmail = new Auth0.Connection(\"passwordless_email\", new()\n {\n Strategy = \"email\",\n Name = \"email\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n Name = \"email\",\n From = \"{{ application.name }} \u003croot@auth0.com\u003e\",\n Subject = \"Welcome to {{ application.name }}\",\n Syntax = \"liquid\",\n Template = \"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\",\n DisableSignup = false,\n BruteForceProtection = true,\n SetUserRootAttributes = \"on_each_login\",\n NonPersistentAttrs = new() { },\n AuthParams = \n {\n { \"scope\", \"openid email profile offline_access\" },\n { \"response_type\", \"code\" },\n },\n Totp = new Auth0.Inputs.ConnectionOptionsTotpArgs\n {\n TimeStep = 300,\n Length = 6,\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of an Email connection.\n\t\t_, err := auth0.NewConnection(ctx, \"passwordless_email\", \u0026auth0.ConnectionArgs{\n\t\t\tStrategy: pulumi.String(\"email\"),\n\t\t\tName: pulumi.String(\"email\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tName: pulumi.String(\"email\"),\n\t\t\t\tFrom: pulumi.String(\"{{ application.name }} \u003croot@auth0.com\u003e\"),\n\t\t\t\tSubject: pulumi.String(\"Welcome to {{ application.name }}\"),\n\t\t\t\tSyntax: pulumi.String(\"liquid\"),\n\t\t\t\tTemplate: pulumi.String(\"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\"),\n\t\t\t\tDisableSignup: pulumi.Bool(false),\n\t\t\t\tBruteForceProtection: pulumi.Bool(true),\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_each_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{},\n\t\t\t\tAuthParams: pulumi.StringMap{\n\t\t\t\t\t\"scope\": pulumi.String(\"openid email profile offline_access\"),\n\t\t\t\t\t\"response_type\": pulumi.String(\"code\"),\n\t\t\t\t},\n\t\t\t\tTotp: \u0026auth0.ConnectionOptionsTotpArgs{\n\t\t\t\t\tTimeStep: pulumi.Int(300),\n\t\t\t\t\tLength: pulumi.Int(6),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsTotpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Email connection.\n var passwordlessEmail = new Connection(\"passwordlessEmail\", ConnectionArgs.builder()\n .strategy(\"email\")\n .name(\"email\")\n .options(ConnectionOptionsArgs.builder()\n .name(\"email\")\n .from(\"{{ application.name }} \u003croot@auth0.com\u003e\")\n .subject(\"Welcome to {{ application.name }}\")\n .syntax(\"liquid\")\n .template(\"\u003chtml\u003eThis is the body of the email\u003c/html\u003e\")\n .disableSignup(false)\n .bruteForceProtection(true)\n .setUserRootAttributes(\"on_each_login\")\n .nonPersistentAttrs()\n .authParams(Map.ofEntries(\n Map.entry(\"scope\", \"openid email profile offline_access\"),\n Map.entry(\"response_type\", \"code\")\n ))\n .totp(ConnectionOptionsTotpArgs.builder()\n .timeStep(300)\n .length(6)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Email connection.\n passwordlessEmail:\n type: auth0:Connection\n name: passwordless_email\n properties:\n strategy: email\n name: email\n options:\n name: email\n from: '{{ application.name }} \u003croot@auth0.com\u003e'\n subject: Welcome to {{ application.name }}\n syntax: liquid\n template: \u003chtml\u003eThis is the body of the email\u003c/html\u003e\n disableSignup: false\n bruteForceProtection: true\n setUserRootAttributes: on_each_login\n nonPersistentAttrs: []\n authParams:\n scope: openid email profile offline_access\n response_type: code\n totp:\n timeStep: 300\n length: 6\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### SAML Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a SAML connection.\nconst samlp = new auth0.Connection(\"samlp\", {\n name: \"SAML-Connection\",\n strategy: \"samlp\",\n options: {\n debug: false,\n signingCert: \"\u003csigning-certificate\u003e\",\n signInEndpoint: \"https://saml.provider/sign_in\",\n signOutEndpoint: \"https://saml.provider/sign_out\",\n disableSignOut: true,\n strategyVersion: 2,\n tenantDomain: \"example.com\",\n domainAliases: [\n \"example.com\",\n \"alias.example.com\",\n ],\n protocolBinding: \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n requestTemplate: `\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e`,\n userIdAttribute: \"https://saml.provider/imi/ns/identity-200810\",\n signatureAlgorithm: \"rsa-sha256\",\n digestAlgorithm: \"sha256\",\n iconUrl: \"https://saml.provider/assets/logo.png\",\n entityId: \"\u003centity_id\u003e\",\n metadataXml: ` \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n`,\n metadataUrl: \"https://saml.provider/imi/ns/FederationMetadata.xml\",\n fieldsMap: JSON.stringify({\n name: [\n \"name\",\n \"nameidentifier\",\n ],\n email: [\n \"emailaddress\",\n \"nameidentifier\",\n ],\n family_name: \"surname\",\n }),\n signingKey: {\n key: `-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----`,\n cert: `-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----`,\n },\n decryptionKey: {\n key: `-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----`,\n cert: `-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----`,\n },\n idpInitiated: {\n clientId: \"client_id\",\n clientProtocol: \"samlp\",\n clientAuthorizeQuery: \"type=code\u0026timeout=30\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of a SAML connection.\nsamlp = auth0.Connection(\"samlp\",\n name=\"SAML-Connection\",\n strategy=\"samlp\",\n options={\n \"debug\": False,\n \"signing_cert\": \"\u003csigning-certificate\u003e\",\n \"sign_in_endpoint\": \"https://saml.provider/sign_in\",\n \"sign_out_endpoint\": \"https://saml.provider/sign_out\",\n \"disable_sign_out\": True,\n \"strategy_version\": 2,\n \"tenant_domain\": \"example.com\",\n \"domain_aliases\": [\n \"example.com\",\n \"alias.example.com\",\n ],\n \"protocol_binding\": \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n \"request_template\": \"\"\"\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e\"\"\",\n \"user_id_attribute\": \"https://saml.provider/imi/ns/identity-200810\",\n \"signature_algorithm\": \"rsa-sha256\",\n \"digest_algorithm\": \"sha256\",\n \"icon_url\": \"https://saml.provider/assets/logo.png\",\n \"entity_id\": \"\u003centity_id\u003e\",\n \"metadata_xml\": \"\"\" \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n\"\"\",\n \"metadata_url\": \"https://saml.provider/imi/ns/FederationMetadata.xml\",\n \"fields_map\": json.dumps({\n \"name\": [\n \"name\",\n \"nameidentifier\",\n ],\n \"email\": [\n \"emailaddress\",\n \"nameidentifier\",\n ],\n \"family_name\": \"surname\",\n }),\n \"signing_key\": {\n \"key\": \"\"\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\"\"\",\n \"cert\": \"\"\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\"\"\",\n },\n \"decryption_key\": {\n \"key\": \"\"\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\"\"\",\n \"cert\": \"\"\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\"\"\",\n },\n \"idp_initiated\": {\n \"client_id\": \"client_id\",\n \"client_protocol\": \"samlp\",\n \"client_authorize_query\": \"type=code\u0026timeout=30\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a SAML connection.\n var samlp = new Auth0.Connection(\"samlp\", new()\n {\n Name = \"SAML-Connection\",\n Strategy = \"samlp\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n Debug = false,\n SigningCert = \"\u003csigning-certificate\u003e\",\n SignInEndpoint = \"https://saml.provider/sign_in\",\n SignOutEndpoint = \"https://saml.provider/sign_out\",\n DisableSignOut = true,\n StrategyVersion = 2,\n TenantDomain = \"example.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n \"alias.example.com\",\n },\n ProtocolBinding = \"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\",\n RequestTemplate = @\"\u003csamlp:AuthnRequest xmlns:samlp=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\n@@AssertServiceURLAndDestination@@\n ID=\"\"@@ID@@\"\"\n IssueInstant=\"\"@@IssueInstant@@\"\"\n ProtocolBinding=\"\"@@ProtocolBinding@@\"\" Version=\"\"2.0\"\"\u003e\n \u003csaml:Issuer xmlns:saml=\"\"urn:oasis:names:tc:SAML:2.0:assertion\"\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e\",\n UserIdAttribute = \"https://saml.provider/imi/ns/identity-200810\",\n SignatureAlgorithm = \"rsa-sha256\",\n DigestAlgorithm = \"sha256\",\n IconUrl = \"https://saml.provider/assets/logo.png\",\n EntityId = \"\u003centity_id\u003e\",\n MetadataXml = @\" \u003c?xml version=\"\"1.0\"\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"\"urn:oasis:names:tc:SAML:2.0:metadata\"\" xmlns:ds=\"\"http://www.w3.org/2000/09/xmldsig#\"\" entityID=\"\"https://example.com\"\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"\"urn:oasis:names:tc:SAML:2.0:protocol\"\"\u003e\n \u003cmd:SingleLogoutService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://saml.provider/sign_out\"\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\" Location=\"\"https://saml.provider/sign_in\"\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n\",\n MetadataUrl = \"https://saml.provider/imi/ns/FederationMetadata.xml\",\n FieldsMap = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = new[]\n {\n \"name\",\n \"nameidentifier\",\n },\n [\"email\"] = new[]\n {\n \"emailaddress\",\n \"nameidentifier\",\n },\n [\"family_name\"] = \"surname\",\n }),\n SigningKey = new Auth0.Inputs.ConnectionOptionsSigningKeyArgs\n {\n Key = @\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\",\n Cert = @\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\",\n },\n DecryptionKey = new Auth0.Inputs.ConnectionOptionsDecryptionKeyArgs\n {\n Key = @\"-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY-----\",\n Cert = @\"-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE-----\",\n },\n IdpInitiated = new Auth0.Inputs.ConnectionOptionsIdpInitiatedArgs\n {\n ClientId = \"client_id\",\n ClientProtocol = \"samlp\",\n ClientAuthorizeQuery = \"type=code\u0026timeout=30\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": []string{\n\t\t\t\t\"name\",\n\t\t\t\t\"nameidentifier\",\n\t\t\t},\n\t\t\t\"email\": []string{\n\t\t\t\t\"emailaddress\",\n\t\t\t\t\"nameidentifier\",\n\t\t\t},\n\t\t\t\"family_name\": \"surname\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// This is an example of a SAML connection.\n\t\t_, err = auth0.NewConnection(ctx, \"samlp\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"SAML-Connection\"),\n\t\t\tStrategy: pulumi.String(\"samlp\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tDebug: pulumi.Bool(false),\n\t\t\t\tSigningCert: pulumi.String(\"\u003csigning-certificate\u003e\"),\n\t\t\t\tSignInEndpoint: pulumi.String(\"https://saml.provider/sign_in\"),\n\t\t\t\tSignOutEndpoint: pulumi.String(\"https://saml.provider/sign_out\"),\n\t\t\t\tDisableSignOut: pulumi.Bool(true),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tTenantDomain: pulumi.String(\"example.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t\tpulumi.String(\"alias.example.com\"),\n\t\t\t\t},\n\t\t\t\tProtocolBinding: pulumi.String(\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\"),\n\t\t\t\tRequestTemplate: pulumi.String(`\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e`),\n\t\t\t\tUserIdAttribute: pulumi.String(\"https://saml.provider/imi/ns/identity-200810\"),\n\t\t\t\tSignatureAlgorithm: pulumi.String(\"rsa-sha256\"),\n\t\t\t\tDigestAlgorithm: pulumi.String(\"sha256\"),\n\t\t\t\tIconUrl: pulumi.String(\"https://saml.provider/assets/logo.png\"),\n\t\t\t\tEntityId: pulumi.String(\"\u003centity_id\u003e\"),\n\t\t\t\tMetadataXml: pulumi.String(` \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n`),\n\t\t\t\tMetadataUrl: pulumi.String(\"https://saml.provider/imi/ns/FederationMetadata.xml\"),\n\t\t\t\tFieldsMap: pulumi.String(json0),\n\t\t\t\tSigningKey: \u0026auth0.ConnectionOptionsSigningKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"-----BEGIN PRIVATE KEY-----\\n...{your private key here}...\\n-----END PRIVATE KEY-----\"),\n\t\t\t\t\tCert: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n...{your public key cert here}...\\n-----END CERTIFICATE-----\"),\n\t\t\t\t},\n\t\t\t\tDecryptionKey: \u0026auth0.ConnectionOptionsDecryptionKeyArgs{\n\t\t\t\t\tKey: pulumi.String(\"-----BEGIN PRIVATE KEY-----\\n...{your private key here}...\\n-----END PRIVATE KEY-----\"),\n\t\t\t\t\tCert: pulumi.String(\"-----BEGIN CERTIFICATE-----\\n...{your public key cert here}...\\n-----END CERTIFICATE-----\"),\n\t\t\t\t},\n\t\t\t\tIdpInitiated: \u0026auth0.ConnectionOptionsIdpInitiatedArgs{\n\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\tClientProtocol: pulumi.String(\"samlp\"),\n\t\t\t\t\tClientAuthorizeQuery: pulumi.String(\"type=code\u0026timeout=30\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsSigningKeyArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsDecryptionKeyArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsIdpInitiatedArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a SAML connection.\n var samlp = new Connection(\"samlp\", ConnectionArgs.builder()\n .name(\"SAML-Connection\")\n .strategy(\"samlp\")\n .options(ConnectionOptionsArgs.builder()\n .debug(false)\n .signingCert(\"\u003csigning-certificate\u003e\")\n .signInEndpoint(\"https://saml.provider/sign_in\")\n .signOutEndpoint(\"https://saml.provider/sign_out\")\n .disableSignOut(true)\n .strategyVersion(2)\n .tenantDomain(\"example.com\")\n .domainAliases( \n \"example.com\",\n \"alias.example.com\")\n .protocolBinding(\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\")\n .requestTemplate(\"\"\"\n\u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n@@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n\u003c/samlp:AuthnRequest\u003e \"\"\")\n .userIdAttribute(\"https://saml.provider/imi/ns/identity-200810\")\n .signatureAlgorithm(\"rsa-sha256\")\n .digestAlgorithm(\"sha256\")\n .iconUrl(\"https://saml.provider/assets/logo.png\")\n .entityId(\"\u003centity_id\u003e\")\n .metadataXml(\"\"\"\n \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n \"\"\")\n .metadataUrl(\"https://saml.provider/imi/ns/FederationMetadata.xml\")\n .fieldsMap(serializeJson(\n jsonObject(\n jsonProperty(\"name\", jsonArray(\n \"name\", \n \"nameidentifier\"\n )),\n jsonProperty(\"email\", jsonArray(\n \"emailaddress\", \n \"nameidentifier\"\n )),\n jsonProperty(\"family_name\", \"surname\")\n )))\n .signingKey(ConnectionOptionsSigningKeyArgs.builder()\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY----- \"\"\")\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE----- \"\"\")\n .build())\n .decryptionKey(ConnectionOptionsDecryptionKeyArgs.builder()\n .key(\"\"\"\n-----BEGIN PRIVATE KEY-----\n...{your private key here}...\n-----END PRIVATE KEY----- \"\"\")\n .cert(\"\"\"\n-----BEGIN CERTIFICATE-----\n...{your public key cert here}...\n-----END CERTIFICATE----- \"\"\")\n .build())\n .idpInitiated(ConnectionOptionsIdpInitiatedArgs.builder()\n .clientId(\"client_id\")\n .clientProtocol(\"samlp\")\n .clientAuthorizeQuery(\"type=code\u0026timeout=30\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a SAML connection.\n samlp:\n type: auth0:Connection\n properties:\n name: SAML-Connection\n strategy: samlp\n options:\n debug: false\n signingCert: \u003csigning-certificate\u003e\n signInEndpoint: https://saml.provider/sign_in\n signOutEndpoint: https://saml.provider/sign_out\n disableSignOut: true\n strategyVersion: 2\n tenantDomain: example.com\n domainAliases:\n - example.com\n - alias.example.com\n protocolBinding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST\n requestTemplate: |-\n \u003csamlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\"\n @@AssertServiceURLAndDestination@@\n ID=\"@@ID@@\"\n IssueInstant=\"@@IssueInstant@@\"\n ProtocolBinding=\"@@ProtocolBinding@@\" Version=\"2.0\"\u003e\n \u003csaml:Issuer xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\u003e@@Issuer@@\u003c/saml:Issuer\u003e\n \u003c/samlp:AuthnRequest\u003e\n userIdAttribute: https://saml.provider/imi/ns/identity-200810\n signatureAlgorithm: rsa-sha256\n digestAlgorithm: sha256\n iconUrl: https://saml.provider/assets/logo.png\n entityId: \u003centity_id\u003e\n metadataXml: |2\n \u003c?xml version=\"1.0\"?\u003e\n \u003cmd:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" entityID=\"https://example.com\"\u003e\n \u003cmd:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"\u003e\n \u003cmd:SingleLogoutService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_out\"/\u003e\n \u003cmd:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://saml.provider/sign_in\"/\u003e\n \u003c/md:IDPSSODescriptor\u003e\n \u003c/md:EntityDescriptor\u003e\n metadataUrl: https://saml.provider/imi/ns/FederationMetadata.xml\n fieldsMap:\n fn::toJSON:\n name:\n - name\n - nameidentifier\n email:\n - emailaddress\n - nameidentifier\n family_name: surname\n signingKey:\n key: |-\n -----BEGIN PRIVATE KEY-----\n ...{your private key here}...\n -----END PRIVATE KEY-----\n cert: |-\n -----BEGIN CERTIFICATE-----\n ...{your public key cert here}...\n -----END CERTIFICATE-----\n decryptionKey:\n key: |-\n -----BEGIN PRIVATE KEY-----\n ...{your private key here}...\n -----END PRIVATE KEY-----\n cert: |-\n -----BEGIN CERTIFICATE-----\n ...{your public key cert here}...\n -----END CERTIFICATE-----\n idpInitiated:\n clientId: client_id\n clientProtocol: samlp\n clientAuthorizeQuery: type=code\u0026timeout=30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### WindowsLive Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of a WindowsLive connection.\nconst windowslive = new auth0.Connection(\"windowslive\", {\n name: \"Windowslive-Connection\",\n strategy: \"windowslive\",\n options: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n strategyVersion: 2,\n scopes: [\n \"signin\",\n \"graph_user\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# This is an example of a WindowsLive connection.\nwindowslive = auth0.Connection(\"windowslive\",\n name=\"Windowslive-Connection\",\n strategy=\"windowslive\",\n options={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"strategy_version\": 2,\n \"scopes\": [\n \"signin\",\n \"graph_user\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of a WindowsLive connection.\n var windowslive = new Auth0.Connection(\"windowslive\", new()\n {\n Name = \"Windowslive-Connection\",\n Strategy = \"windowslive\",\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n StrategyVersion = 2,\n Scopes = new[]\n {\n \"signin\",\n \"graph_user\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// This is an example of a WindowsLive connection.\n\t\t_, err := auth0.NewConnection(ctx, \"windowslive\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"Windowslive-Connection\"),\n\t\t\tStrategy: pulumi.String(\"windowslive\"),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tStrategyVersion: pulumi.Int(2),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"signin\"),\n\t\t\t\t\tpulumi.String(\"graph_user\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of a WindowsLive connection.\n var windowslive = new Connection(\"windowslive\", ConnectionArgs.builder()\n .name(\"Windowslive-Connection\")\n .strategy(\"windowslive\")\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .strategyVersion(2)\n .scopes( \n \"signin\",\n \"graph_user\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of a WindowsLive connection.\n windowslive:\n type: auth0:Connection\n properties:\n name: Windowslive-Connection\n strategy: windowslive\n options:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n strategyVersion: 2\n scopes:\n - signin\n - graph_user\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### OIDC Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an OIDC connection.\nconst oidc = new auth0.Connection(\"oidc\", {\n name: \"oidc-connection\",\n displayName: \"OIDC Connection\",\n strategy: \"oidc\",\n showAsButton: false,\n options: {\n clientId: \"1234567\",\n clientSecret: \"1234567\",\n domainAliases: [\"example.com\"],\n tenantDomain: \"\",\n iconUrl: \"https://example.com/assets/logo.png\",\n type: \"back_channel\",\n issuer: \"https://www.paypalobjects.com\",\n jwksUri: \"https://api.paypal.com/v1/oauth2/certs\",\n discoveryUrl: \"https://www.paypalobjects.com/.well-known/openid-configuration\",\n tokenEndpoint: \"https://api.paypal.com/v1/oauth2/token\",\n userinfoEndpoint: \"https://api.paypal.com/v1/oauth2/token/userinfo\",\n authorizationEndpoint: \"https://www.paypal.com/signin/authorize\",\n scopes: [\n \"openid\",\n \"email\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n connectionSettings: {\n pkce: \"auto\",\n },\n attributeMap: {\n mappingMode: \"use_map\",\n userinfoScope: \"openid email profile groups\",\n attributes: JSON.stringify({\n name: \"${context.tokenset.name}\",\n email: \"${context.tokenset.email}\",\n email_verified: \"${context.tokenset.email_verified}\",\n nickname: \"${context.tokenset.nickname}\",\n picture: \"${context.tokenset.picture}\",\n given_name: \"${context.tokenset.given_name}\",\n family_name: \"${context.tokenset.family_name}\",\n }),\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of an OIDC connection.\noidc = auth0.Connection(\"oidc\",\n name=\"oidc-connection\",\n display_name=\"OIDC Connection\",\n strategy=\"oidc\",\n show_as_button=False,\n options={\n \"client_id\": \"1234567\",\n \"client_secret\": \"1234567\",\n \"domain_aliases\": [\"example.com\"],\n \"tenant_domain\": \"\",\n \"icon_url\": \"https://example.com/assets/logo.png\",\n \"type\": \"back_channel\",\n \"issuer\": \"https://www.paypalobjects.com\",\n \"jwks_uri\": \"https://api.paypal.com/v1/oauth2/certs\",\n \"discovery_url\": \"https://www.paypalobjects.com/.well-known/openid-configuration\",\n \"token_endpoint\": \"https://api.paypal.com/v1/oauth2/token\",\n \"userinfo_endpoint\": \"https://api.paypal.com/v1/oauth2/token/userinfo\",\n \"authorization_endpoint\": \"https://www.paypal.com/signin/authorize\",\n \"scopes\": [\n \"openid\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n \"connection_settings\": {\n \"pkce\": \"auto\",\n },\n \"attribute_map\": {\n \"mapping_mode\": \"use_map\",\n \"userinfo_scope\": \"openid email profile groups\",\n \"attributes\": json.dumps({\n \"name\": \"${context.tokenset.name}\",\n \"email\": \"${context.tokenset.email}\",\n \"email_verified\": \"${context.tokenset.email_verified}\",\n \"nickname\": \"${context.tokenset.nickname}\",\n \"picture\": \"${context.tokenset.picture}\",\n \"given_name\": \"${context.tokenset.given_name}\",\n \"family_name\": \"${context.tokenset.family_name}\",\n }),\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an OIDC connection.\n var oidc = new Auth0.Connection(\"oidc\", new()\n {\n Name = \"oidc-connection\",\n DisplayName = \"OIDC Connection\",\n Strategy = \"oidc\",\n ShowAsButton = false,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"1234567\",\n ClientSecret = \"1234567\",\n DomainAliases = new[]\n {\n \"example.com\",\n },\n TenantDomain = \"\",\n IconUrl = \"https://example.com/assets/logo.png\",\n Type = \"back_channel\",\n Issuer = \"https://www.paypalobjects.com\",\n JwksUri = \"https://api.paypal.com/v1/oauth2/certs\",\n DiscoveryUrl = \"https://www.paypalobjects.com/.well-known/openid-configuration\",\n TokenEndpoint = \"https://api.paypal.com/v1/oauth2/token\",\n UserinfoEndpoint = \"https://api.paypal.com/v1/oauth2/token/userinfo\",\n AuthorizationEndpoint = \"https://www.paypal.com/signin/authorize\",\n Scopes = new[]\n {\n \"openid\",\n \"email\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n ConnectionSettings = new Auth0.Inputs.ConnectionOptionsConnectionSettingsArgs\n {\n Pkce = \"auto\",\n },\n AttributeMap = new Auth0.Inputs.ConnectionOptionsAttributeMapArgs\n {\n MappingMode = \"use_map\",\n UserinfoScope = \"openid email profile groups\",\n Attributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"${context.tokenset.name}\",\n [\"email\"] = \"${context.tokenset.email}\",\n [\"email_verified\"] = \"${context.tokenset.email_verified}\",\n [\"nickname\"] = \"${context.tokenset.nickname}\",\n [\"picture\"] = \"${context.tokenset.picture}\",\n [\"given_name\"] = \"${context.tokenset.given_name}\",\n [\"family_name\"] = \"${context.tokenset.family_name}\",\n }),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": \"${context.tokenset.name}\",\n\t\t\t\"email\": \"${context.tokenset.email}\",\n\t\t\t\"email_verified\": \"${context.tokenset.email_verified}\",\n\t\t\t\"nickname\": \"${context.tokenset.nickname}\",\n\t\t\t\"picture\": \"${context.tokenset.picture}\",\n\t\t\t\"given_name\": \"${context.tokenset.given_name}\",\n\t\t\t\"family_name\": \"${context.tokenset.family_name}\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t// This is an example of an OIDC connection.\n\t\t_, err = auth0.NewConnection(ctx, \"oidc\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"oidc-connection\"),\n\t\t\tDisplayName: pulumi.String(\"OIDC Connection\"),\n\t\t\tStrategy: pulumi.String(\"oidc\"),\n\t\t\tShowAsButton: pulumi.Bool(false),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"1234567\"),\n\t\t\t\tClientSecret: pulumi.String(\"1234567\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t\tTenantDomain: pulumi.String(\"\"),\n\t\t\t\tIconUrl: pulumi.String(\"https://example.com/assets/logo.png\"),\n\t\t\t\tType: pulumi.String(\"back_channel\"),\n\t\t\t\tIssuer: pulumi.String(\"https://www.paypalobjects.com\"),\n\t\t\t\tJwksUri: pulumi.String(\"https://api.paypal.com/v1/oauth2/certs\"),\n\t\t\t\tDiscoveryUrl: pulumi.String(\"https://www.paypalobjects.com/.well-known/openid-configuration\"),\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://api.paypal.com/v1/oauth2/token\"),\n\t\t\t\tUserinfoEndpoint: pulumi.String(\"https://api.paypal.com/v1/oauth2/token/userinfo\"),\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://www.paypal.com/signin/authorize\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t\tConnectionSettings: \u0026auth0.ConnectionOptionsConnectionSettingsArgs{\n\t\t\t\t\tPkce: pulumi.String(\"auto\"),\n\t\t\t\t},\n\t\t\t\tAttributeMap: \u0026auth0.ConnectionOptionsAttributeMapArgs{\n\t\t\t\t\tMappingMode: pulumi.String(\"use_map\"),\n\t\t\t\t\tUserinfoScope: pulumi.String(\"openid email profile groups\"),\n\t\t\t\t\tAttributes: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsConnectionSettingsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsAttributeMapArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an OIDC connection.\n var oidc = new Connection(\"oidc\", ConnectionArgs.builder()\n .name(\"oidc-connection\")\n .displayName(\"OIDC Connection\")\n .strategy(\"oidc\")\n .showAsButton(false)\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"1234567\")\n .clientSecret(\"1234567\")\n .domainAliases(\"example.com\")\n .tenantDomain(\"\")\n .iconUrl(\"https://example.com/assets/logo.png\")\n .type(\"back_channel\")\n .issuer(\"https://www.paypalobjects.com\")\n .jwksUri(\"https://api.paypal.com/v1/oauth2/certs\")\n .discoveryUrl(\"https://www.paypalobjects.com/.well-known/openid-configuration\")\n .tokenEndpoint(\"https://api.paypal.com/v1/oauth2/token\")\n .userinfoEndpoint(\"https://api.paypal.com/v1/oauth2/token/userinfo\")\n .authorizationEndpoint(\"https://www.paypal.com/signin/authorize\")\n .scopes( \n \"openid\",\n \"email\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .connectionSettings(ConnectionOptionsConnectionSettingsArgs.builder()\n .pkce(\"auto\")\n .build())\n .attributeMap(ConnectionOptionsAttributeMapArgs.builder()\n .mappingMode(\"use_map\")\n .userinfoScope(\"openid email profile groups\")\n .attributes(serializeJson(\n jsonObject(\n jsonProperty(\"name\", \"${context.tokenset.name}\"),\n jsonProperty(\"email\", \"${context.tokenset.email}\"),\n jsonProperty(\"email_verified\", \"${context.tokenset.email_verified}\"),\n jsonProperty(\"nickname\", \"${context.tokenset.nickname}\"),\n jsonProperty(\"picture\", \"${context.tokenset.picture}\"),\n jsonProperty(\"given_name\", \"${context.tokenset.given_name}\"),\n jsonProperty(\"family_name\", \"${context.tokenset.family_name}\")\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an OIDC connection.\n oidc:\n type: auth0:Connection\n properties:\n name: oidc-connection\n displayName: OIDC Connection\n strategy: oidc\n showAsButton: false\n options:\n clientId: '1234567'\n clientSecret: '1234567'\n domainAliases:\n - example.com\n tenantDomain:\n iconUrl: https://example.com/assets/logo.png\n type: back_channel\n issuer: https://www.paypalobjects.com\n jwksUri: https://api.paypal.com/v1/oauth2/certs\n discoveryUrl: https://www.paypalobjects.com/.well-known/openid-configuration\n tokenEndpoint: https://api.paypal.com/v1/oauth2/token\n userinfoEndpoint: https://api.paypal.com/v1/oauth2/token/userinfo\n authorizationEndpoint: https://www.paypal.com/signin/authorize\n scopes:\n - openid\n - email\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n connectionSettings:\n pkce: auto\n attributeMap:\n mappingMode: use_map\n userinfoScope: openid email profile groups\n attributes:\n fn::toJSON:\n name: ${context.tokenset.name}\n email: ${context.tokenset.email}\n email_verified: ${context.tokenset.email_verified}\n nickname: ${context.tokenset.nickname}\n picture: ${context.tokenset.picture}\n given_name: ${context.tokenset.given_name}\n family_name: ${context.tokenset.family_name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Okta Connection\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// This is an example of an Okta Workforce connection.\nconst okta = new auth0.Connection(\"okta\", {\n name: \"okta-connection\",\n displayName: \"Okta Workforce Connection\",\n strategy: \"okta\",\n showAsButton: false,\n options: {\n clientId: \"1234567\",\n clientSecret: \"1234567\",\n domain: \"example.okta.com\",\n domainAliases: [\"example.com\"],\n issuer: \"https://example.okta.com\",\n jwksUri: \"https://example.okta.com/oauth2/v1/keys\",\n tokenEndpoint: \"https://example.okta.com/oauth2/v1/token\",\n userinfoEndpoint: \"https://example.okta.com/oauth2/v1/userinfo\",\n authorizationEndpoint: \"https://example.okta.com/oauth2/v1/authorize\",\n scopes: [\n \"openid\",\n \"email\",\n ],\n setUserRootAttributes: \"on_first_login\",\n nonPersistentAttrs: [\n \"ethnicity\",\n \"gender\",\n ],\n upstreamParams: JSON.stringify({\n screen_name: {\n alias: \"login_hint\",\n },\n }),\n connectionSettings: {\n pkce: \"auto\",\n },\n attributeMap: {\n mappingMode: \"basic_profile\",\n userinfoScope: \"openid email profile groups\",\n attributes: JSON.stringify({\n name: \"${context.tokenset.name}\",\n email: \"${context.tokenset.email}\",\n email_verified: \"${context.tokenset.email_verified}\",\n nickname: \"${context.tokenset.nickname}\",\n picture: \"${context.tokenset.picture}\",\n given_name: \"${context.tokenset.given_name}\",\n family_name: \"${context.tokenset.family_name}\",\n }),\n },\n },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_auth0 as auth0\n\n# This is an example of an Okta Workforce connection.\nokta = auth0.Connection(\"okta\",\n name=\"okta-connection\",\n display_name=\"Okta Workforce Connection\",\n strategy=\"okta\",\n show_as_button=False,\n options={\n \"client_id\": \"1234567\",\n \"client_secret\": \"1234567\",\n \"domain\": \"example.okta.com\",\n \"domain_aliases\": [\"example.com\"],\n \"issuer\": \"https://example.okta.com\",\n \"jwks_uri\": \"https://example.okta.com/oauth2/v1/keys\",\n \"token_endpoint\": \"https://example.okta.com/oauth2/v1/token\",\n \"userinfo_endpoint\": \"https://example.okta.com/oauth2/v1/userinfo\",\n \"authorization_endpoint\": \"https://example.okta.com/oauth2/v1/authorize\",\n \"scopes\": [\n \"openid\",\n \"email\",\n ],\n \"set_user_root_attributes\": \"on_first_login\",\n \"non_persistent_attrs\": [\n \"ethnicity\",\n \"gender\",\n ],\n \"upstream_params\": json.dumps({\n \"screen_name\": {\n \"alias\": \"login_hint\",\n },\n }),\n \"connection_settings\": {\n \"pkce\": \"auto\",\n },\n \"attribute_map\": {\n \"mapping_mode\": \"basic_profile\",\n \"userinfo_scope\": \"openid email profile groups\",\n \"attributes\": json.dumps({\n \"name\": \"${context.tokenset.name}\",\n \"email\": \"${context.tokenset.email}\",\n \"email_verified\": \"${context.tokenset.email_verified}\",\n \"nickname\": \"${context.tokenset.nickname}\",\n \"picture\": \"${context.tokenset.picture}\",\n \"given_name\": \"${context.tokenset.given_name}\",\n \"family_name\": \"${context.tokenset.family_name}\",\n }),\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // This is an example of an Okta Workforce connection.\n var okta = new Auth0.Connection(\"okta\", new()\n {\n Name = \"okta-connection\",\n DisplayName = \"Okta Workforce Connection\",\n Strategy = \"okta\",\n ShowAsButton = false,\n Options = new Auth0.Inputs.ConnectionOptionsArgs\n {\n ClientId = \"1234567\",\n ClientSecret = \"1234567\",\n Domain = \"example.okta.com\",\n DomainAliases = new[]\n {\n \"example.com\",\n },\n Issuer = \"https://example.okta.com\",\n JwksUri = \"https://example.okta.com/oauth2/v1/keys\",\n TokenEndpoint = \"https://example.okta.com/oauth2/v1/token\",\n UserinfoEndpoint = \"https://example.okta.com/oauth2/v1/userinfo\",\n AuthorizationEndpoint = \"https://example.okta.com/oauth2/v1/authorize\",\n Scopes = new[]\n {\n \"openid\",\n \"email\",\n },\n SetUserRootAttributes = \"on_first_login\",\n NonPersistentAttrs = new[]\n {\n \"ethnicity\",\n \"gender\",\n },\n UpstreamParams = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"screen_name\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"alias\"] = \"login_hint\",\n },\n }),\n ConnectionSettings = new Auth0.Inputs.ConnectionOptionsConnectionSettingsArgs\n {\n Pkce = \"auto\",\n },\n AttributeMap = new Auth0.Inputs.ConnectionOptionsAttributeMapArgs\n {\n MappingMode = \"basic_profile\",\n UserinfoScope = \"openid email profile groups\",\n Attributes = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"name\"] = \"${context.tokenset.name}\",\n [\"email\"] = \"${context.tokenset.email}\",\n [\"email_verified\"] = \"${context.tokenset.email_verified}\",\n [\"nickname\"] = \"${context.tokenset.nickname}\",\n [\"picture\"] = \"${context.tokenset.picture}\",\n [\"given_name\"] = \"${context.tokenset.given_name}\",\n [\"family_name\"] = \"${context.tokenset.family_name}\",\n }),\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"screen_name\": map[string]interface{}{\n\t\t\t\t\"alias\": \"login_hint\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\": \"${context.tokenset.name}\",\n\t\t\t\"email\": \"${context.tokenset.email}\",\n\t\t\t\"email_verified\": \"${context.tokenset.email_verified}\",\n\t\t\t\"nickname\": \"${context.tokenset.nickname}\",\n\t\t\t\"picture\": \"${context.tokenset.picture}\",\n\t\t\t\"given_name\": \"${context.tokenset.given_name}\",\n\t\t\t\"family_name\": \"${context.tokenset.family_name}\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// This is an example of an Okta Workforce connection.\n\t\t_, err = auth0.NewConnection(ctx, \"okta\", \u0026auth0.ConnectionArgs{\n\t\t\tName: pulumi.String(\"okta-connection\"),\n\t\t\tDisplayName: pulumi.String(\"Okta Workforce Connection\"),\n\t\t\tStrategy: pulumi.String(\"okta\"),\n\t\t\tShowAsButton: pulumi.Bool(false),\n\t\t\tOptions: \u0026auth0.ConnectionOptionsArgs{\n\t\t\t\tClientId: pulumi.String(\"1234567\"),\n\t\t\t\tClientSecret: pulumi.String(\"1234567\"),\n\t\t\t\tDomain: pulumi.String(\"example.okta.com\"),\n\t\t\t\tDomainAliases: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example.com\"),\n\t\t\t\t},\n\t\t\t\tIssuer: pulumi.String(\"https://example.okta.com\"),\n\t\t\t\tJwksUri: pulumi.String(\"https://example.okta.com/oauth2/v1/keys\"),\n\t\t\t\tTokenEndpoint: pulumi.String(\"https://example.okta.com/oauth2/v1/token\"),\n\t\t\t\tUserinfoEndpoint: pulumi.String(\"https://example.okta.com/oauth2/v1/userinfo\"),\n\t\t\t\tAuthorizationEndpoint: pulumi.String(\"https://example.okta.com/oauth2/v1/authorize\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"openid\"),\n\t\t\t\t\tpulumi.String(\"email\"),\n\t\t\t\t},\n\t\t\t\tSetUserRootAttributes: pulumi.String(\"on_first_login\"),\n\t\t\t\tNonPersistentAttrs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ethnicity\"),\n\t\t\t\t\tpulumi.String(\"gender\"),\n\t\t\t\t},\n\t\t\t\tUpstreamParams: pulumi.String(json0),\n\t\t\t\tConnectionSettings: \u0026auth0.ConnectionOptionsConnectionSettingsArgs{\n\t\t\t\t\tPkce: pulumi.String(\"auto\"),\n\t\t\t\t},\n\t\t\t\tAttributeMap: \u0026auth0.ConnectionOptionsAttributeMapArgs{\n\t\t\t\t\tMappingMode: pulumi.String(\"basic_profile\"),\n\t\t\t\t\tUserinfoScope: pulumi.String(\"openid email profile groups\"),\n\t\t\t\t\tAttributes: pulumi.String(json1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Connection;\nimport com.pulumi.auth0.ConnectionArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsConnectionSettingsArgs;\nimport com.pulumi.auth0.inputs.ConnectionOptionsAttributeMapArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // This is an example of an Okta Workforce connection.\n var okta = new Connection(\"okta\", ConnectionArgs.builder()\n .name(\"okta-connection\")\n .displayName(\"Okta Workforce Connection\")\n .strategy(\"okta\")\n .showAsButton(false)\n .options(ConnectionOptionsArgs.builder()\n .clientId(\"1234567\")\n .clientSecret(\"1234567\")\n .domain(\"example.okta.com\")\n .domainAliases(\"example.com\")\n .issuer(\"https://example.okta.com\")\n .jwksUri(\"https://example.okta.com/oauth2/v1/keys\")\n .tokenEndpoint(\"https://example.okta.com/oauth2/v1/token\")\n .userinfoEndpoint(\"https://example.okta.com/oauth2/v1/userinfo\")\n .authorizationEndpoint(\"https://example.okta.com/oauth2/v1/authorize\")\n .scopes( \n \"openid\",\n \"email\")\n .setUserRootAttributes(\"on_first_login\")\n .nonPersistentAttrs( \n \"ethnicity\",\n \"gender\")\n .upstreamParams(serializeJson(\n jsonObject(\n jsonProperty(\"screen_name\", jsonObject(\n jsonProperty(\"alias\", \"login_hint\")\n ))\n )))\n .connectionSettings(ConnectionOptionsConnectionSettingsArgs.builder()\n .pkce(\"auto\")\n .build())\n .attributeMap(ConnectionOptionsAttributeMapArgs.builder()\n .mappingMode(\"basic_profile\")\n .userinfoScope(\"openid email profile groups\")\n .attributes(serializeJson(\n jsonObject(\n jsonProperty(\"name\", \"${context.tokenset.name}\"),\n jsonProperty(\"email\", \"${context.tokenset.email}\"),\n jsonProperty(\"email_verified\", \"${context.tokenset.email_verified}\"),\n jsonProperty(\"nickname\", \"${context.tokenset.nickname}\"),\n jsonProperty(\"picture\", \"${context.tokenset.picture}\"),\n jsonProperty(\"given_name\", \"${context.tokenset.given_name}\"),\n jsonProperty(\"family_name\", \"${context.tokenset.family_name}\")\n )))\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # This is an example of an Okta Workforce connection.\n okta:\n type: auth0:Connection\n properties:\n name: okta-connection\n displayName: Okta Workforce Connection\n strategy: okta\n showAsButton: false\n options:\n clientId: '1234567'\n clientSecret: '1234567'\n domain: example.okta.com\n domainAliases:\n - example.com\n issuer: https://example.okta.com\n jwksUri: https://example.okta.com/oauth2/v1/keys\n tokenEndpoint: https://example.okta.com/oauth2/v1/token\n userinfoEndpoint: https://example.okta.com/oauth2/v1/userinfo\n authorizationEndpoint: https://example.okta.com/oauth2/v1/authorize\n scopes:\n - openid\n - email\n setUserRootAttributes: on_first_login\n nonPersistentAttrs:\n - ethnicity\n - gender\n upstreamParams:\n fn::toJSON:\n screen_name:\n alias: login_hint\n connectionSettings:\n pkce: auto\n attributeMap:\n mappingMode: basic_profile\n userinfoScope: openid email profile groups\n attributes:\n fn::toJSON:\n name: ${context.tokenset.name}\n email: ${context.tokenset.email}\n email_verified: ${context.tokenset.email_verified}\n nickname: ${context.tokenset.nickname}\n picture: ${context.tokenset.picture}\n given_name: ${context.tokenset.given_name}\n family_name: ${context.tokenset.family_name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThis resource can be imported by specifying the connection ID.\n\n#\n\nExample:\n\n```sh\n$ pulumi import auth0:index/connection:Connection google \"con_a17f21fdb24d48a0\"\n```\n\n", "properties": { "displayName": { "type": "string", @@ -14283,7 +14283,7 @@ } }, "auth0:index/getForm:getForm": { - "description": "Data source to retrieve a specific Auth0 Form by `id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// An Auth0 form loaded using its ID.\nconst myFormData = auth0.getFlow({\n id: \"ap_31LxRJphZF1Kqzf2zBgmgA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# An Auth0 form loaded using its ID.\nmy_form_data = auth0.get_flow(id=\"ap_31LxRJphZF1Kqzf2zBgmgA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // An Auth0 form loaded using its ID.\n var myFormData = Auth0.GetFlow.Invoke(new()\n {\n Id = \"ap_31LxRJphZF1Kqzf2zBgmgA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// An Auth0 form loaded using its ID.\n\t\t_, err := auth0.LookupFlow(ctx, \u0026auth0.LookupFlowArgs{\n\t\t\tId: \"ap_31LxRJphZF1Kqzf2zBgmgA\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Auth0Functions;\nimport com.pulumi.auth0.inputs.GetFlowArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // An Auth0 form loaded using its ID.\n final var myFormData = Auth0Functions.getFlow(GetFlowArgs.builder()\n .id(\"ap_31LxRJphZF1Kqzf2zBgmgA\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # An Auth0 form loaded using its ID.\n myFormData:\n fn::invoke:\n Function: auth0:getFlow\n Arguments:\n id: ap_31LxRJphZF1Kqzf2zBgmgA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Data source to retrieve a specific Auth0 Form by `id`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as auth0 from \"@pulumi/auth0\";\n\n// An Auth0 form loaded using its ID.\nconst myFormData = auth0.getForm({\n id: \"ap_31LxRJphZF1Kqzf2zBgmgA\",\n});\n```\n```python\nimport pulumi\nimport pulumi_auth0 as auth0\n\n# An Auth0 form loaded using its ID.\nmy_form_data = auth0.get_form(id=\"ap_31LxRJphZF1Kqzf2zBgmgA\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Auth0 = Pulumi.Auth0;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // An Auth0 form loaded using its ID.\n var myFormData = Auth0.GetForm.Invoke(new()\n {\n Id = \"ap_31LxRJphZF1Kqzf2zBgmgA\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-auth0/sdk/v3/go/auth0\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// An Auth0 form loaded using its ID.\n\t\t_, err := auth0.LookupForm(ctx, \u0026auth0.LookupFormArgs{\n\t\t\tId: \"ap_31LxRJphZF1Kqzf2zBgmgA\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.auth0.Auth0Functions;\nimport com.pulumi.auth0.inputs.GetFormArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // An Auth0 form loaded using its ID.\n final var myFormData = Auth0Functions.getForm(GetFormArgs.builder()\n .id(\"ap_31LxRJphZF1Kqzf2zBgmgA\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n # An Auth0 form loaded using its ID.\n myFormData:\n fn::invoke:\n Function: auth0:getForm\n Arguments:\n id: ap_31LxRJphZF1Kqzf2zBgmgA\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "inputs": { "description": "A collection of arguments for invoking getForm.\n", "properties": { diff --git a/provider/go.mod b/provider/go.mod index 6a9be3cc..f510bcd0 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -47,7 +47,7 @@ require ( github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect github.com/armon/go-radix v1.0.0 // indirect github.com/atotto/clipboard v0.1.4 // indirect - github.com/auth0/go-auth0 v1.11.1 // indirect + github.com/auth0/go-auth0 v1.11.2 // indirect github.com/aws/aws-sdk-go v1.50.36 // indirect github.com/aws/aws-sdk-go-v2 v1.26.1 // indirect github.com/aws/aws-sdk-go-v2/config v1.27.11 // indirect diff --git a/provider/go.sum b/provider/go.sum index 68d54289..d777ae2f 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1227,8 +1227,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= -github.com/auth0/go-auth0 v1.11.1 h1:fMiG79W3m4MeF3DFl2L0hFchURP7h6XTK3BWdJ9hnxg= -github.com/auth0/go-auth0 v1.11.1/go.mod h1:VyYseHsdB4s9jmfBqoxnzJTvZr0w17ZJ5kjNdA+ag9Y= +github.com/auth0/go-auth0 v1.11.2 h1:WLh0K3iau5d5mCt08vIvynOM5jCRmv/WJDH8FBo4Fu4= +github.com/auth0/go-auth0 v1.11.2/go.mod h1:VyYseHsdB4s9jmfBqoxnzJTvZr0w17ZJ5kjNdA+ag9Y= github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= diff --git a/upstream b/upstream index 48a1d05d..98823c3d 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 48a1d05d63d630ef5cd544558ba6d427d6e96e70 +Subproject commit 98823c3d09f4e1c71ead80d801e357b6e1d2c35f