From e8dfc3220ca34bd60f76b3f1ad16a23b3acdb2dc Mon Sep 17 00:00:00 2001 From: Clem Dal Palu Date: Mon, 27 Jun 2022 17:41:47 +0200 Subject: [PATCH 1/9] Add returnOobLink to the ActionCodeSettings --- auth/email_action_links.go | 1 + auth/email_action_links_test.go | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/auth/email_action_links.go b/auth/email_action_links.go index 6b649254..01a25b2a 100644 --- a/auth/email_action_links.go +++ b/auth/email_action_links.go @@ -32,6 +32,7 @@ type ActionCodeSettings struct { AndroidMinimumVersion string `json:"androidMinimumVersion,omitempty"` AndroidInstallApp bool `json:"androidInstallApp,omitempty"` DynamicLinkDomain string `json:"dynamicLinkDomain,omitempty"` + ReturnOobLink bool `json:"returnOobLink"` } func (settings *ActionCodeSettings) toMap() (map[string]interface{}, error) { diff --git a/auth/email_action_links_test.go b/auth/email_action_links_test.go index 876f3300..8d246c23 100644 --- a/auth/email_action_links_test.go +++ b/auth/email_action_links_test.go @@ -40,6 +40,7 @@ var testActionCodeSettings = &ActionCodeSettings{ AndroidPackageName: "com.example.android", AndroidInstallApp: true, AndroidMinimumVersion: "6", + ReturnOobLink: true, } var testActionCodeSettingsMap = map[string]interface{}{ "continueUrl": "https://example.dynamic.link", @@ -49,6 +50,7 @@ var testActionCodeSettingsMap = map[string]interface{}{ "androidPackageName": "com.example.android", "androidInstallApp": true, "androidMinimumVersion": "6", + "returnOobLink": true, } var invalidActionCodeSettings = []struct { name string @@ -309,6 +311,35 @@ func TestEmailVerificationLinkError(t *testing.T) { } } +func TestEmailVerificationSendEmail(t *testing.T) { + s := echoServer(testActionLinkResponse, t) + defer s.Close() + + testActionCodeSettingsNoReturn := testActionCodeSettings + testActionCodeSettingsNoReturn.ReturnOobLink = false + testActionCodeSettingsMapNoReturn := testActionCodeSettingsMap + testActionCodeSettingsMapNoReturn["returnOobLink"] = false + link, err := s.Client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettingsNoReturn) + if err != nil { + t.Fatal(err) + } + if link != testActionLink { + t.Errorf("EmailSignInLink() = %q; want = %q", link, testActionLink) + } + + want := map[string]interface{}{ + "requestType": "EMAIL_SIGNIN", + "email": testEmail, + "returnOobLink": false, + } + for k, v := range testActionCodeSettingsMapNoReturn { + want[k] = v + } + if err := checkActionLinkRequest(want, s); err != nil { + t.Fatalf("EmailSignInLink() %v", err) + } +} + func checkActionLinkRequest(want map[string]interface{}, s *mockAuthServer) error { wantURL := "/projects/mock-project-id/accounts:sendOobCode" return checkActionLinkRequestWithURL(want, wantURL, s) From 12a47886e644e79a5aeed4a129f2f5242daf5fd3 Mon Sep 17 00:00:00 2001 From: Clem Dal Palu Date: Tue, 15 Nov 2022 14:08:24 +0100 Subject: [PATCH 2/9] Fix all tests with both returnOobLink cases --- auth/email_action_links_test.go | 171 ++++++++++++++++---------------- auth/tenant_mgt_test.go | 40 ++++---- 2 files changed, 111 insertions(+), 100 deletions(-) diff --git a/auth/email_action_links_test.go b/auth/email_action_links_test.go index 8d246c23..bbde8cbe 100644 --- a/auth/email_action_links_test.go +++ b/auth/email_action_links_test.go @@ -40,7 +40,6 @@ var testActionCodeSettings = &ActionCodeSettings{ AndroidPackageName: "com.example.android", AndroidInstallApp: true, AndroidMinimumVersion: "6", - ReturnOobLink: true, } var testActionCodeSettingsMap = map[string]interface{}{ "continueUrl": "https://example.dynamic.link", @@ -50,7 +49,6 @@ var testActionCodeSettingsMap = map[string]interface{}{ "androidPackageName": "com.example.android", "androidInstallApp": true, "androidMinimumVersion": "6", - "returnOobLink": true, } var invalidActionCodeSettings = []struct { name string @@ -113,24 +111,30 @@ func TestEmailVerificationLinkWithSettings(t *testing.T) { s := echoServer(testActionLinkResponse, t) defer s.Close() - link, err := s.Client.EmailVerificationLinkWithSettings(context.Background(), testEmail, testActionCodeSettings) - if err != nil { - t.Fatal(err) - } - if link != testActionLink { - t.Errorf("EmailVerificationLinkWithSettings() = %q; want = %q", link, testActionLink) - } + cases := []bool{true, false} + testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, + testActionCodeSettingsMap) + for _, returnOobLink := range cases { + testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink + link, err := s.Client.EmailVerificationLinkWithSettings(context.Background(), testEmail, testActionCodeSettingsCustom) + if err != nil { + t.Fatal(err) + } + if link != testActionLink { + t.Errorf("EmailVerificationLinkWithSettings() = %q; want = %q", link, testActionLink) + } - want := map[string]interface{}{ - "requestType": "VERIFY_EMAIL", - "email": testEmail, - "returnOobLink": true, - } - for k, v := range testActionCodeSettingsMap { - want[k] = v - } - if err := checkActionLinkRequest(want, s); err != nil { - t.Fatalf("EmailVerificationLinkWithSettings() %v", err) + want := map[string]interface{}{ + "requestType": "VERIFY_EMAIL", + "email": testEmail, + } + for k, v := range testActionCodeSettingsMapCustom { + want[k] = v + } + if err := checkActionLinkRequest(want, s); err != nil { + t.Fatalf("EmailVerificationLinkWithSettings() %v", err) + } } } @@ -160,24 +164,30 @@ func TestPasswordResetLinkWithSettings(t *testing.T) { s := echoServer(testActionLinkResponse, t) defer s.Close() - link, err := s.Client.PasswordResetLinkWithSettings(context.Background(), testEmail, testActionCodeSettings) - if err != nil { - t.Fatal(err) - } - if link != testActionLink { - t.Errorf("PasswordResetLinkWithSettings() = %q; want = %q", link, testActionLink) - } + cases := []bool{true, false} + testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, + testActionCodeSettingsMap) + for _, returnOobLink := range cases { + testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink + link, err := s.Client.PasswordResetLinkWithSettings(context.Background(), testEmail, testActionCodeSettingsCustom) + if err != nil { + t.Fatal(err) + } + if link != testActionLink { + t.Errorf("PasswordResetLinkWithSettings() = %q; want = %q", link, testActionLink) + } - want := map[string]interface{}{ - "requestType": "PASSWORD_RESET", - "email": testEmail, - "returnOobLink": true, - } - for k, v := range testActionCodeSettingsMap { - want[k] = v - } - if err := checkActionLinkRequest(want, s); err != nil { - t.Fatalf("PasswordResetLinkWithSettings() %v", err) + want := map[string]interface{}{ + "requestType": "PASSWORD_RESET", + "email": testEmail, + } + for k, v := range testActionCodeSettingsMapCustom { + want[k] = v + } + if err := checkActionLinkRequest(want, s); err != nil { + t.Fatalf("PasswordResetLinkWithSettings() %v", err) + } } } @@ -206,24 +216,29 @@ func TestEmailSignInLink(t *testing.T) { s := echoServer(testActionLinkResponse, t) defer s.Close() - link, err := s.Client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettings) - if err != nil { - t.Fatal(err) - } - if link != testActionLink { - t.Errorf("EmailSignInLink() = %q; want = %q", link, testActionLink) - } - - want := map[string]interface{}{ - "requestType": "EMAIL_SIGNIN", - "email": testEmail, - "returnOobLink": true, - } - for k, v := range testActionCodeSettingsMap { - want[k] = v - } - if err := checkActionLinkRequest(want, s); err != nil { - t.Fatalf("EmailSignInLink() %v", err) + cases := []bool{true, false} + testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, + testActionCodeSettingsMap) + for _, returnOobLink := range cases { + testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink + link, err := s.Client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettingsCustom) + if err != nil { + t.Fatal(err) + } + if link != testActionLink { + t.Errorf("EmailSignInLink() = %q; want = %q", link, testActionLink) + } + want := map[string]interface{}{ + "requestType": "EMAIL_SIGNIN", + "email": testEmail, + } + for k, v := range testActionCodeSettingsMapCustom { + want[k] = v + } + if err := checkActionLinkRequest(want, s); err != nil { + t.Fatalf("EmailSignInLink() %v", err) + } } } @@ -311,35 +326,6 @@ func TestEmailVerificationLinkError(t *testing.T) { } } -func TestEmailVerificationSendEmail(t *testing.T) { - s := echoServer(testActionLinkResponse, t) - defer s.Close() - - testActionCodeSettingsNoReturn := testActionCodeSettings - testActionCodeSettingsNoReturn.ReturnOobLink = false - testActionCodeSettingsMapNoReturn := testActionCodeSettingsMap - testActionCodeSettingsMapNoReturn["returnOobLink"] = false - link, err := s.Client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettingsNoReturn) - if err != nil { - t.Fatal(err) - } - if link != testActionLink { - t.Errorf("EmailSignInLink() = %q; want = %q", link, testActionLink) - } - - want := map[string]interface{}{ - "requestType": "EMAIL_SIGNIN", - "email": testEmail, - "returnOobLink": false, - } - for k, v := range testActionCodeSettingsMapNoReturn { - want[k] = v - } - if err := checkActionLinkRequest(want, s); err != nil { - t.Fatalf("EmailSignInLink() %v", err) - } -} - func checkActionLinkRequest(want map[string]interface{}, s *mockAuthServer) error { wantURL := "/projects/mock-project-id/accounts:sendOobCode" return checkActionLinkRequestWithURL(want, wantURL, s) @@ -364,3 +350,22 @@ func checkActionLinkRequestWithURL(want map[string]interface{}, wantURL string, } return nil } + +func getCopiesOfTestSettings(testSettings *ActionCodeSettings, + testSettingsMap map[string]interface{}) (*ActionCodeSettings, map[string]interface{}) { + testActionCodeSettingsCustom := &ActionCodeSettings{ + URL: testSettings.URL, + HandleCodeInApp: testSettings.HandleCodeInApp, + IOSBundleID: testSettings.IOSBundleID, + AndroidPackageName: testSettings.AndroidPackageName, + AndroidMinimumVersion: testSettings.AndroidMinimumVersion, + AndroidInstallApp: testSettings.AndroidInstallApp, + DynamicLinkDomain: testSettings.DynamicLinkDomain, + ReturnOobLink: testSettings.ReturnOobLink, + } + testActionCodeSettingsMapCustom := map[string]interface{}{} + for k, v := range testSettingsMap { + testActionCodeSettingsMapCustom[k] = v + } + return testActionCodeSettingsCustom, testActionCodeSettingsMapCustom +} diff --git a/auth/tenant_mgt_test.go b/auth/tenant_mgt_test.go index 1e9e2b91..4e4c9008 100644 --- a/auth/tenant_mgt_test.go +++ b/auth/tenant_mgt_test.go @@ -548,24 +548,30 @@ func TestTenantEmailSignInLink(t *testing.T) { t.Fatalf("AuthForTenant() = %v", err) } - link, err := client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettings) - if err != nil { - t.Fatal(err) - } - if link != testActionLink { - t.Errorf("EmailSignInLink() = %q; want = %q", link, testActionLink) - } + cases := []bool{true, false} + testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, + testActionCodeSettingsMap) + for _, returnOobLink := range cases { + testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink + link, err := client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettingsCustom) + if err != nil { + t.Fatal(err) + } + if link != testActionLink { + t.Errorf("EmailSignInLink() = %q; want = %q", link, testActionLink) + } - want := map[string]interface{}{ - "requestType": "EMAIL_SIGNIN", - "email": testEmail, - "returnOobLink": true, - } - for k, v := range testActionCodeSettingsMap { - want[k] = v - } - if err := checkActionLinkRequestWithURL(want, wantEmailActionURL, s); err != nil { - t.Fatalf("EmailSignInLink() %v", err) + want := map[string]interface{}{ + "requestType": "EMAIL_SIGNIN", + "email": testEmail, + } + for k, v := range testActionCodeSettingsMapCustom { + want[k] = v + } + if err := checkActionLinkRequestWithURL(want, wantEmailActionURL, s); err != nil { + t.Fatalf("EmailSignInLink() %v", err) + } } } From 4cf413aefa1a83b72f967be837f01618e446785e Mon Sep 17 00:00:00 2001 From: Clem Dal Palu Date: Wed, 23 Nov 2022 17:04:20 +0100 Subject: [PATCH 3/9] Change `ReturnOobLink` into `SendEmailLink` --- auth/email_action_links.go | 3 ++- auth/email_action_links_test.go | 8 ++++---- auth/tenant_mgt_test.go | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/auth/email_action_links.go b/auth/email_action_links.go index 01a25b2a..571183fe 100644 --- a/auth/email_action_links.go +++ b/auth/email_action_links.go @@ -32,7 +32,7 @@ type ActionCodeSettings struct { AndroidMinimumVersion string `json:"androidMinimumVersion,omitempty"` AndroidInstallApp bool `json:"androidInstallApp,omitempty"` DynamicLinkDomain string `json:"dynamicLinkDomain,omitempty"` - ReturnOobLink bool `json:"returnOobLink"` + SendEmailLink bool `json:"-"` } func (settings *ActionCodeSettings) toMap() (map[string]interface{}, error) { @@ -59,6 +59,7 @@ func (settings *ActionCodeSettings) toMap() (map[string]interface{}, error) { if err := json.Unmarshal(b, &result); err != nil { return nil, err } + result["returnOobLink"] = !settings.SendEmailLink return result, nil } diff --git a/auth/email_action_links_test.go b/auth/email_action_links_test.go index bbde8cbe..6df56362 100644 --- a/auth/email_action_links_test.go +++ b/auth/email_action_links_test.go @@ -115,7 +115,7 @@ func TestEmailVerificationLinkWithSettings(t *testing.T) { testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, testActionCodeSettingsMap) for _, returnOobLink := range cases { - testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsCustom.SendEmailLink = !returnOobLink testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink link, err := s.Client.EmailVerificationLinkWithSettings(context.Background(), testEmail, testActionCodeSettingsCustom) if err != nil { @@ -168,7 +168,7 @@ func TestPasswordResetLinkWithSettings(t *testing.T) { testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, testActionCodeSettingsMap) for _, returnOobLink := range cases { - testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsCustom.SendEmailLink = !returnOobLink testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink link, err := s.Client.PasswordResetLinkWithSettings(context.Background(), testEmail, testActionCodeSettingsCustom) if err != nil { @@ -220,7 +220,7 @@ func TestEmailSignInLink(t *testing.T) { testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, testActionCodeSettingsMap) for _, returnOobLink := range cases { - testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsCustom.SendEmailLink = !returnOobLink testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink link, err := s.Client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettingsCustom) if err != nil { @@ -361,7 +361,7 @@ func getCopiesOfTestSettings(testSettings *ActionCodeSettings, AndroidMinimumVersion: testSettings.AndroidMinimumVersion, AndroidInstallApp: testSettings.AndroidInstallApp, DynamicLinkDomain: testSettings.DynamicLinkDomain, - ReturnOobLink: testSettings.ReturnOobLink, + SendEmailLink: testSettings.SendEmailLink, } testActionCodeSettingsMapCustom := map[string]interface{}{} for k, v := range testSettingsMap { diff --git a/auth/tenant_mgt_test.go b/auth/tenant_mgt_test.go index 4e4c9008..a6c297b3 100644 --- a/auth/tenant_mgt_test.go +++ b/auth/tenant_mgt_test.go @@ -552,7 +552,7 @@ func TestTenantEmailSignInLink(t *testing.T) { testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, testActionCodeSettingsMap) for _, returnOobLink := range cases { - testActionCodeSettingsCustom.ReturnOobLink = returnOobLink + testActionCodeSettingsCustom.SendEmailLink = !returnOobLink testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink link, err := client.EmailSignInLink(context.Background(), testEmail, testActionCodeSettingsCustom) if err != nil { From 54af579a2803961282a1c4c12868983772df24e0 Mon Sep 17 00:00:00 2001 From: Clem Dal Palu Date: Wed, 23 Nov 2022 17:04:32 +0100 Subject: [PATCH 4/9] Avoid name conflict with url package --- auth/email_action_links.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/auth/email_action_links.go b/auth/email_action_links.go index 571183fe..659886e4 100644 --- a/auth/email_action_links.go +++ b/auth/email_action_links.go @@ -40,8 +40,8 @@ func (settings *ActionCodeSettings) toMap() (map[string]interface{}, error) { return nil, errors.New("URL must not be empty") } - url, err := url.Parse(settings.URL) - if err != nil || url.Scheme == "" || url.Host == "" { + parsedURL, err := url.Parse(settings.URL) + if err != nil || parsedURL.Scheme == "" || parsedURL.Host == "" { return nil, fmt.Errorf("malformed url string: %q", settings.URL) } From 981442d7798f0f198fc1b60138c398097a17e28c Mon Sep 17 00:00:00 2001 From: Clem Dal Palu Date: Wed, 8 Mar 2023 15:29:26 +0100 Subject: [PATCH 5/9] Add an unset test case and a comment --- auth/email_action_links.go | 7 ++++--- auth/email_action_links_test.go | 11 +++++++---- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/auth/email_action_links.go b/auth/email_action_links.go index 659886e4..cc98e2b4 100644 --- a/auth/email_action_links.go +++ b/auth/email_action_links.go @@ -59,6 +59,8 @@ func (settings *ActionCodeSettings) toMap() (map[string]interface{}, error) { if err := json.Unmarshal(b, &result); err != nil { return nil, err } + // Since SendEmailLink defaults to true, we will always set "returnOobLink" to false by default. + // This means no email is sent out in the default case result["returnOobLink"] = !settings.SendEmailLink return result, nil } @@ -116,9 +118,8 @@ func (c *baseClient) generateEmailActionLink( } payload := map[string]interface{}{ - "requestType": linkType, - "email": email, - "returnOobLink": true, + "requestType": linkType, + "email": email, } if settings != nil { settingsMap, err := settings.toMap() diff --git a/auth/email_action_links_test.go b/auth/email_action_links_test.go index 6df56362..f2029f55 100644 --- a/auth/email_action_links_test.go +++ b/auth/email_action_links_test.go @@ -20,6 +20,7 @@ import ( "fmt" "net/http" "reflect" + "strconv" "testing" "firebase.google.com/go/v4/errorutils" @@ -111,12 +112,14 @@ func TestEmailVerificationLinkWithSettings(t *testing.T) { s := echoServer(testActionLinkResponse, t) defer s.Close() - cases := []bool{true, false} + cases := []string{"true", "false", ""} testActionCodeSettingsCustom, testActionCodeSettingsMapCustom := getCopiesOfTestSettings(testActionCodeSettings, testActionCodeSettingsMap) - for _, returnOobLink := range cases { - testActionCodeSettingsCustom.SendEmailLink = !returnOobLink - testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink + for _, caseStr := range cases { + if returnOobLink, err := strconv.ParseBool(caseStr); err == nil { + testActionCodeSettingsCustom.SendEmailLink = !returnOobLink + testActionCodeSettingsMapCustom["returnOobLink"] = returnOobLink + } link, err := s.Client.EmailVerificationLinkWithSettings(context.Background(), testEmail, testActionCodeSettingsCustom) if err != nil { t.Fatal(err) From 32af2b8141bddb7230dd4db7e6612703f2dfc25b Mon Sep 17 00:00:00 2001 From: Lahiru Maramba Date: Thu, 22 Jun 2023 18:05:56 -0400 Subject: [PATCH 6/9] [chore] Release 4.12.0 (#561) - Release 4.12.0 --- firebase.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebase.go b/firebase.go index a06829b1..fb3b0b47 100644 --- a/firebase.go +++ b/firebase.go @@ -39,7 +39,7 @@ import ( var defaultAuthOverrides = make(map[string]interface{}) // Version of the Firebase Go Admin SDK. -const Version = "4.11.0" +const Version = "4.12.0" // firebaseEnvName is the name of the environment variable with the Config. const firebaseEnvName = "FIREBASE_CONFIG" From 02300a8e865290c35d0ff92ff241ee38ccd814a7 Mon Sep 17 00:00:00 2001 From: Lahiru Maramba Date: Tue, 11 Jul 2023 12:21:57 -0400 Subject: [PATCH 7/9] Revert "[chore] Release 4.12.0 (#561)" (#565) This reverts commit 32af2b8141bddb7230dd4db7e6612703f2dfc25b. --- firebase.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firebase.go b/firebase.go index fb3b0b47..a06829b1 100644 --- a/firebase.go +++ b/firebase.go @@ -39,7 +39,7 @@ import ( var defaultAuthOverrides = make(map[string]interface{}) // Version of the Firebase Go Admin SDK. -const Version = "4.12.0" +const Version = "4.11.0" // firebaseEnvName is the name of the environment variable with the Config. const firebaseEnvName = "FIREBASE_CONFIG" From da18d132a6cde259afe757bd6040d9f74a810643 Mon Sep 17 00:00:00 2001 From: Clem Dal Palu Date: Mon, 4 Mar 2024 10:25:41 +0100 Subject: [PATCH 8/9] Fix comment --- auth/email_action_links.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auth/email_action_links.go b/auth/email_action_links.go index cc98e2b4..e62aac54 100644 --- a/auth/email_action_links.go +++ b/auth/email_action_links.go @@ -59,7 +59,7 @@ func (settings *ActionCodeSettings) toMap() (map[string]interface{}, error) { if err := json.Unmarshal(b, &result); err != nil { return nil, err } - // Since SendEmailLink defaults to true, we will always set "returnOobLink" to false by default. + // Since SendEmailLink defaults to false, we will always set "returnOobLink" to true by default. // This means no email is sent out in the default case result["returnOobLink"] = !settings.SendEmailLink return result, nil From e5a5134b97398a900e51966269d82a6177078e5b Mon Sep 17 00:00:00 2001 From: Clem Dal Palu Date: Fri, 29 Mar 2024 16:15:02 +0100 Subject: [PATCH 9/9] Resolve conflicts on tests --- auth/email_action_links_test.go | 10 ++++------ auth/tenant_mgt_test.go | 10 ++++------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/auth/email_action_links_test.go b/auth/email_action_links_test.go index f2029f55..a71591dd 100644 --- a/auth/email_action_links_test.go +++ b/auth/email_action_links_test.go @@ -99,9 +99,8 @@ func TestEmailVerificationLink(t *testing.T) { } want := map[string]interface{}{ - "requestType": "VERIFY_EMAIL", - "email": testEmail, - "returnOobLink": true, + "requestType": "VERIFY_EMAIL", + "email": testEmail, } if err := checkActionLinkRequest(want, s); err != nil { t.Fatalf("EmailVerificationLink() %v", err) @@ -154,9 +153,8 @@ func TestPasswordResetLink(t *testing.T) { } want := map[string]interface{}{ - "requestType": "PASSWORD_RESET", - "email": testEmail, - "returnOobLink": true, + "requestType": "PASSWORD_RESET", + "email": testEmail, } if err := checkActionLinkRequest(want, s); err != nil { t.Fatalf("PasswordResetLink() %v", err) diff --git a/auth/tenant_mgt_test.go b/auth/tenant_mgt_test.go index 1c48e525..8881fce1 100644 --- a/auth/tenant_mgt_test.go +++ b/auth/tenant_mgt_test.go @@ -503,9 +503,8 @@ func TestTenantEmailVerificationLink(t *testing.T) { } want := map[string]interface{}{ - "requestType": "VERIFY_EMAIL", - "email": testEmail, - "returnOobLink": true, + "requestType": "VERIFY_EMAIL", + "email": testEmail, } if err := checkActionLinkRequestWithURL(want, wantEmailActionURL, s); err != nil { t.Fatalf("EmailVerificationLink() %v", err) @@ -530,9 +529,8 @@ func TestTenantPasswordResetLink(t *testing.T) { } want := map[string]interface{}{ - "requestType": "PASSWORD_RESET", - "email": testEmail, - "returnOobLink": true, + "requestType": "PASSWORD_RESET", + "email": testEmail, } if err := checkActionLinkRequestWithURL(want, wantEmailActionURL, s); err != nil { t.Fatalf("PasswordResetLink() %v", err)