diff --git a/docs/data-sources/connection.md b/docs/data-sources/connection.md index ce187bb1..602b7eea 100644 --- a/docs/data-sources/connection.md +++ b/docs/data-sources/connection.md @@ -167,6 +167,7 @@ Read-Only: - `identifier` (List of Object) (see [below for nested schema](#nestedobjatt--options--attributes--email--identifier)) - `profile_required` (Boolean) - `signup` (List of Object) (see [below for nested schema](#nestedobjatt--options--attributes--email--signup)) +- `verification_method` (String) ### Nested Schema for `options.attributes.email.identifier` diff --git a/docs/resources/connection.md b/docs/resources/connection.md index 0c64da8a..98ecf08d 100644 --- a/docs/resources/connection.md +++ b/docs/resources/connection.md @@ -788,6 +788,7 @@ Optional: - `identifier` (Block List) Connection Options Email Attribute Identifier (see [below for nested schema](#nestedblock--options--attributes--email--identifier)) - `profile_required` (Boolean) Defines whether Profile is required - `signup` (Block List) Defines signup settings for Email attribute (see [below for nested schema](#nestedblock--options--attributes--email--signup)) +- `verification_method` (String) Defines whether whether user will receive a link or an OTP during user signup for email verification and password reset for email verification ### Nested Schema for `options.attributes.email.identifier` diff --git a/docs/resources/email_template.md b/docs/resources/email_template.md index 316119df..a7d4257b 100644 --- a/docs/resources/email_template.md +++ b/docs/resources/email_template.md @@ -47,7 +47,7 @@ resource "auth0_email_template" "my_email_template" { - `from` (String) Email address to use as the sender. You can include [common variables](https://auth0.com/docs/customize/email/email-templates#common-variables). - `subject` (String) Subject line of the email. You can include [common variables](https://auth0.com/docs/customize/email/email-templates#common-variables). - `syntax` (String) Syntax of the template body. You can use either text or HTML with Liquid syntax. -- `template` (String) Template name. Options include `verify_email`, `verify_email_by_code`, `reset_email`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `change_password` (legacy), or `password_reset` (legacy). +- `template` (String) Template name. Options include `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, `welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, `user_invitation`, `change_password` (legacy), or `password_reset` (legacy). ### Optional diff --git a/go.mod b/go.mod index 589a578c..6d25d3c9 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ toolchain go1.22.5 require ( github.com/PuerkitoBio/rehttp v1.4.0 - github.com/auth0/go-auth0 v1.13.0 + github.com/auth0/go-auth0 v1.14.0 github.com/google/go-cmp v0.6.0 github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 github.com/hashicorp/go-multierror v1.1.1 @@ -76,14 +76,14 @@ require ( github.com/yuin/goldmark-meta v1.1.0 // indirect github.com/zclconf/go-cty v1.15.0 // indirect go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect - golang.org/x/crypto v0.29.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20240525044651-4c93da0ed11d // indirect golang.org/x/mod v0.21.0 // indirect golang.org/x/net v0.28.0 // indirect - golang.org/x/oauth2 v0.24.0 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/sys v0.27.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/oauth2 v0.25.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/sys v0.28.0 // indirect + golang.org/x/text v0.21.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 // indirect diff --git a/go.sum b/go.sum index 510c8bc9..aa13d892 100644 --- a/go.sum +++ b/go.sum @@ -24,8 +24,8 @@ github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/auth0/go-auth0 v1.13.0 h1:GA7WyGAzlKBQ2ctHcCZwVf0aiOvPd2PB3QagC5heQJg= -github.com/auth0/go-auth0 v1.13.0/go.mod h1:G3oPT7sWjmM4mHbn6qkMYEsxnwm/5PnSbo0kpPLSS0E= +github.com/auth0/go-auth0 v1.14.0 h1:T/wQGIwXylf1DnrDtDEuo/92YBnRizRcw15zXb+e3k4= +github.com/auth0/go-auth0 v1.14.0/go.mod h1:PjkjJXvHIbGPJgig9lNjlYrK2lsP5pdh3tM+VV4Dmpc= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0 h1:0NmehRCgyk5rljDQLKUO+cRJCnduDyn11+zGZIc9Z48= github.com/aybabtme/iocontrol v0.0.0-20150809002002-ad15bcfc95a0/go.mod h1:6L7zgvqo0idzI7IO8de6ZC051AfXb5ipkIJ7bIA2tGA= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= @@ -223,8 +223,8 @@ go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20240525044651-4c93da0ed11d h1:N0hmiNbwsSNwHBAvR3QB5w25pUwH4tK0Y/RltD1j1h4= golang.org/x/exp v0.0.0-20240525044651-4c93da0ed11d/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -238,13 +238,13 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE= -golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= +golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -259,8 +259,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -271,8 +271,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/internal/auth0/connection/expand.go b/internal/auth0/connection/expand.go index b26dbbd8..ed985a8e 100644 --- a/internal/auth0/connection/expand.go +++ b/internal/auth0/connection/expand.go @@ -199,9 +199,10 @@ func expandConnectionOptionsEmailAttribute(config cty.Value) *management.Connect config.GetAttr("email").ForEachElement( func(_ cty.Value, email cty.Value) (stop bool) { coea = &management.ConnectionOptionsEmailAttribute{ - Identifier: expandConnectionOptionsAttributeIdentifier(email), - ProfileRequired: value.Bool(email.GetAttr("profile_required")), - Signup: expandConnectionOptionsAttributeSignup(email), + Identifier: expandConnectionOptionsAttributeIdentifier(email), + ProfileRequired: value.Bool(email.GetAttr("profile_required")), + VerificationMethod: (*management.ConnectionOptionsEmailAttributeVerificationMethod)(value.String(email.GetAttr("verification_method"))), + Signup: expandConnectionOptionsAttributeSignup(email), } return stop }) diff --git a/internal/auth0/connection/flatten.go b/internal/auth0/connection/flatten.go index 4d97e315..248f0939 100644 --- a/internal/auth0/connection/flatten.go +++ b/internal/auth0/connection/flatten.go @@ -189,9 +189,10 @@ func flattenEmailAttribute(emailAttribute *management.ConnectionOptionsEmailAttr return []map[string]interface{}{ { - "identifier": flattenIdentifier(emailAttribute.GetIdentifier()), - "profile_required": emailAttribute.GetProfileRequired(), - "signup": flattenSignUp(emailAttribute.GetSignup()), + "identifier": flattenIdentifier(emailAttribute.GetIdentifier()), + "profile_required": emailAttribute.GetProfileRequired(), + "signup": flattenSignUp(emailAttribute.GetSignup()), + "verification_method": emailAttribute.GetVerificationMethod(), }, } } diff --git a/internal/auth0/connection/resource_test.go b/internal/auth0/connection/resource_test.go index b5135581..a12cab1b 100644 --- a/internal/auth0/connection/resource_test.go +++ b/internal/auth0/connection/resource_test.go @@ -237,6 +237,7 @@ func TestAccConnectionOptionsAttrEmail(t *testing.T) { active = true } profile_required = true + verification_method = "otp" signup { status = "required" verification { @@ -256,6 +257,7 @@ func TestAccConnectionOptionsAttrEmail(t *testing.T) { resource.TestCheckResourceAttr("auth0_connection.my_connection", "options.0.attributes.#", "1"), resource.TestCheckResourceAttr("auth0_connection.my_connection", "options.0.attributes.0.email.0.identifier.0.active", "true"), resource.TestCheckResourceAttr("auth0_connection.my_connection", "options.0.attributes.0.email.0.profile_required", "true"), + resource.TestCheckResourceAttr("auth0_connection.my_connection", "options.0.attributes.0.email.0.verification_method", "otp"), resource.TestCheckResourceAttr("auth0_connection.my_connection", "options.0.attributes.0.email.0.signup.0.status", "required"), resource.TestCheckResourceAttr("auth0_connection.my_connection", "options.0.attributes.0.email.0.signup.0.verification.0.active", "false"), ), diff --git a/internal/auth0/connection/schema.go b/internal/auth0/connection/schema.go index debfc872..9a2d1d7a 100644 --- a/internal/auth0/connection/schema.go +++ b/internal/auth0/connection/schema.go @@ -905,6 +905,12 @@ var optionsSchema = &schema.Schema{ Computed: false, Description: "Defines whether Profile is required", }, + "verification_method": { + Type: schema.TypeString, + Optional: true, + Computed: true, + Description: "Defines whether whether user will receive a link or an OTP during user signup for email verification and password reset for email verification", + }, "signup": { Type: schema.TypeList, Optional: true, diff --git a/internal/auth0/email/resource_template.go b/internal/auth0/email/resource_template.go index 3a19df27..4ce9c80f 100644 --- a/internal/auth0/email/resource_template.go +++ b/internal/auth0/email/resource_template.go @@ -36,6 +36,7 @@ func NewTemplateResource() *schema.Resource { "verify_email", "verify_email_by_code", "reset_email", + "reset_email_by_code", "welcome_email", "blocked_account", "stolen_credentials", @@ -45,7 +46,7 @@ func NewTemplateResource() *schema.Resource { "mfa_oob_code", "user_invitation", }, true), - Description: "Template name. Options include `verify_email`, `verify_email_by_code`, `reset_email`, " + + Description: "Template name. Options include `verify_email`, `verify_email_by_code`, `reset_email`, `reset_email_by_code`, " + "`welcome_email`, `blocked_account`, `stolen_credentials`, `enrollment_email`, `mfa_oob_code`, " + "`user_invitation`, `change_password` (legacy), or `password_reset` (legacy).", }, diff --git a/test/data/recordings/TestAccConnectionOptionsAttrEmail.yaml b/test/data/recordings/TestAccConnectionOptionsAttrEmail.yaml index 1ecb4f43..9f98442f 100644 --- a/test/data/recordings/TestAccConnectionOptionsAttrEmail.yaml +++ b/test/data/recordings/TestAccConnectionOptionsAttrEmail.yaml @@ -3,317 +3,317 @@ version: 2 interactions: - id: 0 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 377 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: | - {"name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","strategy":"auth0","is_domain_connection":true,"options":{"brute_force_protection":true,"requires_username":false,"precedence":["username","email","phone_number"],"attributes":{"email":{"identifier":{"active":true},"profile_required":true,"signup":{"status":"required","verification":{"active":false}}}}}} - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections - method: POST + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 405 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: | + {"name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","strategy":"auth0","is_domain_connection":true,"options":{"brute_force_protection":true,"requires_username":false,"precedence":["username","email","phone_number"],"attributes":{"email":{"identifier":{"active":true},"profile_required":true,"signup":{"status":"required","verification":{"active":false}},"verification_method":"otp"}}}} + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections + method: POST response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 596 - uncompressed: false - body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","brute_force_protection":true,"requires_username":false,"precedence":["username","email","phone_number"],"attributes":{"email":{"identifier":{"active":true},"profile_required":true,"signup":{"status":"required","verification":{"active":false}}}},"strategy_version":2},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 201 Created - code: 201 - duration: 177.413667ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 819 + uncompressed: false + body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","brute_force_protection":true,"requires_username":false,"precedence":["username","email","phone_number"],"attributes":{"email":{"identifier":{"active":true},"profile_required":true,"signup":{"status":"required","verification":{"active":false}},"verification_method":"otp"}},"strategy_version":2,"authentication_methods":{"password":{"enabled":true},"passkey":{"enabled":false}},"passkey_options":{"challenge_ui":"both","progressive_enrollment_enabled":true,"local_enrollment_enabled":true}},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 201 Created + code: 201 + duration: 396.520292ms - id: 1 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc - method: GET + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc + method: GET response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: -1 - uncompressed: true - body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"attributes":{"email":{"signup":{"status":"required","verification":{"active":false}},"identifier":{"active":true},"profile_required":true}},"precedence":["username","email","phone_number"],"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 200 OK - code: 200 - duration: 110.053666ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"attributes":{"email":{"signup":{"status":"required","verification":{"active":false}},"identifier":{"active":true},"profile_required":true,"verification_method":"otp"}},"precedence":["username","email","phone_number"],"passwordPolicy":"good","passkey_options":{"challenge_ui":"both","local_enrollment_enabled":true,"progressive_enrollment_enabled":true},"strategy_version":2,"requires_username":false,"authentication_methods":{"passkey":{"enabled":false},"password":{"enabled":true}},"brute_force_protection":true},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 332.07075ms - id: 2 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc - method: GET + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc + method: GET response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: -1 - uncompressed: true - body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"attributes":{"email":{"signup":{"status":"required","verification":{"active":false}},"identifier":{"active":true},"profile_required":true}},"precedence":["username","email","phone_number"],"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 200 OK - code: 200 - duration: 105.755125ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"attributes":{"email":{"signup":{"status":"required","verification":{"active":false}},"identifier":{"active":true},"profile_required":true, "verification_method":"otp"}},"precedence":["username","email","phone_number"],"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 347.059292ms - id: 3 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/tenants/settings - method: GET + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/tenants/settings + method: GET response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: -1 - uncompressed: true - body: '{"enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"universal_login":true,"revoke_refresh_token_grant":false,"dashboard_new_onboarding":true,"disable_clickjack_protection_headers":false},"picture_url":"https://example.com/logo.png","sandbox_version":"16","universal_login":{"colors":{"page_background":"#FF4F40","primary":"#2A2E35"}},"sandbox_versions_available":["18","16"]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 200 OK - code: 200 - duration: 110.01925ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"universal_login":true,"revoke_refresh_token_grant":false,"dashboard_new_onboarding":true,"disable_clickjack_protection_headers":false},"picture_url":"https://example.com/logo.png","sandbox_version":"16","universal_login":{"colors":{"page_background":"#FF4F40","primary":"#2A2E35"}},"sandbox_versions_available":["18","16"]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 336.07175ms - id: 4 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc - method: GET + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc + method: GET response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: -1 - uncompressed: true - body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"attributes":{"email":{"signup":{"status":"required","verification":{"active":false}},"identifier":{"active":true},"profile_required":true}},"precedence":["username","email","phone_number"],"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 200 OK - code: 200 - duration: 228.355583ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"id":"con_Czze8lJ9J8dZtzMc","options":{"mfa":{"active":true,"return_enroll_settings":true},"attributes":{"email":{"signup":{"status":"required","verification":{"active":false}},"identifier":{"active":true},"profile_required":true}},"precedence":["username","email","phone_number"],"passwordPolicy":"good","strategy_version":2,"requires_username":false,"brute_force_protection":true},"strategy":"auth0","name":"Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail","is_domain_connection":true,"enabled_clients":[],"realms":["Acceptance-Test-Connection-TestAccConnectionOptionsAttrEmail"]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 467.953042ms - id: 5 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc - method: DELETE + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections/con_Czze8lJ9J8dZtzMc + method: DELETE response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: 41 - uncompressed: false - body: '{"deleted_at":"2024-08-02T14:35:09.559Z"}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 202 Accepted - code: 202 - duration: 115.069875ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 41 + uncompressed: false + body: '{"deleted_at":"2025-01-09T06:01:20.047Z"}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 202 Accepted + code: 202 + duration: 333.875041ms - id: 6 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/tenants/settings - method: GET + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/tenants/settings + method: GET response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: -1 - uncompressed: true - body: '{"enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"universal_login":true,"revoke_refresh_token_grant":false,"dashboard_new_onboarding":true,"disable_clickjack_protection_headers":false},"picture_url":"https://example.com/logo.png","sandbox_version":"16","universal_login":{"colors":{"page_background":"#FF4F40","primary":"#2A2E35"}},"sandbox_versions_available":["18","16"]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 200 OK - code: 200 - duration: 103.986625ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"universal_login":true,"revoke_refresh_token_grant":false,"dashboard_new_onboarding":true,"disable_clickjack_protection_headers":false},"picture_url":"https://example.com/logo.png","sandbox_version":"16","universal_login":{"colors":{"page_background":"#FF4F40","primary":"#2A2E35"}},"sandbox_versions_available":["18","16"]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 327.826209ms - id: 7 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/tenants/settings - method: GET + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/tenants/settings + method: GET response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: -1 - uncompressed: true - body: '{"enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"universal_login":true,"revoke_refresh_token_grant":false,"dashboard_new_onboarding":true,"disable_clickjack_protection_headers":false},"picture_url":"https://example.com/logo.png","sandbox_version":"16","universal_login":{"colors":{"page_background":"#FF4F40","primary":"#2A2E35"}},"sandbox_versions_available":["18","16"]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 200 OK - code: 200 - duration: 108.784709ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"enabled_locales":["en"],"flags":{"allow_changing_enable_sso":false,"disable_impersonation":true,"enable_sso":true,"universal_login":true,"revoke_refresh_token_grant":false,"dashboard_new_onboarding":true,"disable_clickjack_protection_headers":false},"picture_url":"https://example.com/logo.png","sandbox_version":"16","universal_login":{"colors":{"page_background":"#FF4F40","primary":"#2A2E35"}},"sandbox_versions_available":["18","16"]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 323.559334ms - id: 8 request: - proto: HTTP/1.1 - proto_major: 1 - proto_minor: 1 - content_length: 0 - transfer_encoding: [] - trailer: {} - host: terraform-provider-auth0-dev.eu.auth0.com - remote_addr: "" - request_uri: "" - body: "" - form: {} - headers: - Content-Type: - - application/json - User-Agent: - - Go-Auth0/1.8.0 - url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections?include_totals=true&page=0&per_page=50 - method: GET + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: terraform-provider-auth0-dev.eu.auth0.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Content-Type: + - application/json + User-Agent: + - Go-Auth0/1.14.0 + url: https://terraform-provider-auth0-dev.eu.auth0.com/api/v2/connections?include_totals=true&page=0&per_page=50 + method: GET response: - proto: HTTP/2.0 - proto_major: 2 - proto_minor: 0 - transfer_encoding: [] - trailer: {} - content_length: -1 - uncompressed: true - body: '{"total":3,"start":0,"limit":50,"connections":[{"id":"con_NgUj1aAYUvMI1smy","options":{"type":"back_channel","issuer":"https://example.okta.com","jwks_uri":"https://example.okta.com/oauth2/v1/keys","client_id":"1234567","attribute_map":{"mapping_mode":"basic_profile"},"client_secret":"1234567","schema_version":"oidc-V4","token_endpoint":"https://example.okta.com/oauth2/v1/token","userinfo_endpoint":null,"connection_settings":{"pkce":"auto"},"authorization_endpoint":"https://example.okta.com/oauth2/v1/authorize"},"strategy":"okta","name":"craig-test-okta-connection","is_domain_connection":false,"show_as_button":false,"display_name":"Craig Test Okta Workforce Connection","realms":["craig-test-okta-connection"],"enabled_clients":[]},{"id":"con_nxtsVa2XBrGFWqrj","options":{"email":true,"scope":["email","profile"],"profile":true},"strategy":"google-oauth2","name":"google-oauth2","is_domain_connection":false,"realms":["google-oauth2"],"enabled_clients":["i4LnBZLIAarAMmWvIJdXwFhwDGs9wlEW","CD7KYYaQgl5CKjfoV5NMVljTPxJlOFs9"]},{"id":"con_cerN9Nsm83juEPcC","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"Username-Password-Authentication","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["i4LnBZLIAarAMmWvIJdXwFhwDGs9wlEW","CD7KYYaQgl5CKjfoV5NMVljTPxJlOFs9"]}]}' - headers: - Content-Type: - - application/json; charset=utf-8 - status: 200 OK - code: 200 - duration: 121.299833ms + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: -1 + uncompressed: true + body: '{"total":3,"start":0,"limit":50,"connections":[{"id":"con_NgUj1aAYUvMI1smy","options":{"type":"back_channel","issuer":"https://example.okta.com","jwks_uri":"https://example.okta.com/oauth2/v1/keys","client_id":"1234567","attribute_map":{"mapping_mode":"basic_profile"},"client_secret":"1234567","schema_version":"oidc-V4","token_endpoint":"https://example.okta.com/oauth2/v1/token","userinfo_endpoint":null,"connection_settings":{"pkce":"auto"},"authorization_endpoint":"https://example.okta.com/oauth2/v1/authorize"},"strategy":"okta","name":"craig-test-okta-connection","is_domain_connection":false,"show_as_button":false,"display_name":"Craig Test Okta Workforce Connection","realms":["craig-test-okta-connection"],"enabled_clients":[]},{"id":"con_nxtsVa2XBrGFWqrj","options":{"email":true,"scope":["email","profile"],"profile":true},"strategy":"google-oauth2","name":"google-oauth2","is_domain_connection":false,"realms":["google-oauth2"],"enabled_clients":["i4LnBZLIAarAMmWvIJdXwFhwDGs9wlEW","CD7KYYaQgl5CKjfoV5NMVljTPxJlOFs9"]},{"id":"con_cerN9Nsm83juEPcC","options":{"mfa":{"active":true,"return_enroll_settings":true},"passwordPolicy":"good","strategy_version":2,"brute_force_protection":true},"strategy":"auth0","name":"Username-Password-Authentication","is_domain_connection":false,"realms":["Username-Password-Authentication"],"enabled_clients":["i4LnBZLIAarAMmWvIJdXwFhwDGs9wlEW","CD7KYYaQgl5CKjfoV5NMVljTPxJlOFs9"]}]}' + headers: + Content-Type: + - application/json; charset=utf-8 + status: 200 OK + code: 200 + duration: 347.7365ms