Skip to content

Commit 0ab97ba

Browse files
committed
Merge branch 'claims-emailpassword-changes' into session-claims
2 parents 6973755 + 1d305c0 commit 0ab97ba

File tree

8 files changed

+19
-80
lines changed

8 files changed

+19
-80
lines changed

recipe/emailpassword/api/implementation.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ func MakeAPIImplementation() epmodels.APIInterface {
3737
}
3838

3939
generatePasswordResetTokenPOST := func(formFields []epmodels.TypeFormField, options epmodels.APIOptions, userContext supertokens.UserContext) (epmodels.GeneratePasswordResetTokenPOSTResponse, error) {
40+
stInstance, err := supertokens.GetInstanceOrThrowError()
41+
if err != nil {
42+
return epmodels.GeneratePasswordResetTokenPOSTResponse{}, err
43+
}
44+
4045
var email string
4146
for _, formField := range formFields {
4247
if formField.ID == "email" {
@@ -66,7 +71,13 @@ func MakeAPIImplementation() epmodels.APIInterface {
6671
}, nil
6772
}
6873

69-
passwordResetLink, err := options.Config.ResetPasswordUsingTokenFeature.GetResetPasswordURL(*user, userContext)
74+
passwordResetLink := fmt.Sprintf(
75+
"%s%s/reset-password?token=%s&rid=%s",
76+
stInstance.AppInfo.WebsiteDomain.GetAsStringDangerous(),
77+
stInstance.AppInfo.WebsiteBasePath.GetAsStringDangerous(),
78+
response.OK.Token,
79+
options.RecipeID,
80+
)
7081

7182
if err != nil {
7283
return epmodels.GeneratePasswordResetTokenPOSTResponse{}, err

recipe/emailpassword/emaildelivery/backwardCompatibilityService/main.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,13 @@ import (
2121

2222
"github.com/supertokens/supertokens-golang/ingredients/emaildelivery"
2323
"github.com/supertokens/supertokens-golang/recipe/emailpassword/epmodels"
24-
emailVerificationBackwardsCompatibilityService "github.com/supertokens/supertokens-golang/recipe/emailverification/emaildelivery/backwardCompatibilityService"
2524
"github.com/supertokens/supertokens-golang/recipe/emailverification/evmodels"
2625
"github.com/supertokens/supertokens-golang/supertokens"
2726
)
2827

2928
func MakeBackwardCompatibilityService(recipeInterfaceImpl epmodels.RecipeInterface, appInfo supertokens.NormalisedAppinfo, sendResetPasswordEmail func(user epmodels.User, passwordResetURLWithToken string, userContext supertokens.UserContext), sendEmailVerificationEmail func(user evmodels.User, emailVerificationURLWithToken string, userContext supertokens.UserContext)) emaildelivery.EmailDeliveryInterface {
30-
31-
emailVerificationService := emailVerificationBackwardsCompatibilityService.MakeBackwardCompatibilityService(appInfo, sendEmailVerificationEmail)
32-
3329
sendEmail := func(input emaildelivery.EmailType, userContext supertokens.UserContext) error {
34-
if input.EmailVerification != nil {
35-
return (*emailVerificationService.SendEmail)(input, userContext)
36-
} else if input.PasswordReset != nil {
30+
if input.PasswordReset != nil {
3731
user, err := (*recipeInterfaceImpl.GetUserByID)(input.PasswordReset.User.ID, userContext)
3832
if err != nil {
3933
return err

recipe/emailpassword/emaildelivery/smtpService/evServiceImplementation.go

Lines changed: 0 additions & 39 deletions
This file was deleted.

recipe/emailpassword/emaildelivery/smtpService/main.go

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"errors"
2121

2222
"github.com/supertokens/supertokens-golang/ingredients/emaildelivery"
23-
evsmtpService "github.com/supertokens/supertokens-golang/recipe/emailverification/emaildelivery/smtpService"
2423
"github.com/supertokens/supertokens-golang/supertokens"
2524
)
2625

@@ -31,16 +30,8 @@ func MakeSMTPService(config emaildelivery.SMTPServiceConfig) *emaildelivery.Emai
3130
serviceImpl = config.Override(serviceImpl)
3231
}
3332

34-
emailVerificationServiceImpl := evsmtpService.MakeSMTPService(emaildelivery.SMTPServiceConfig{
35-
Settings: config.Settings,
36-
Override: makeEmailverificationServiceImplementation(serviceImpl),
37-
})
38-
3933
sendEmail := func(input emaildelivery.EmailType, userContext supertokens.UserContext) error {
40-
if input.EmailVerification != nil {
41-
return (*emailVerificationServiceImpl.SendEmail)(input, userContext)
42-
43-
} else if input.PasswordReset != nil {
34+
if input.PasswordReset != nil {
4435
content, err := (*serviceImpl.GetContent)(input, userContext)
4536
if err != nil {
4637
return err

recipe/emailpassword/emaildelivery/smtpService/serviceImplementation.go

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"errors"
2121

2222
"github.com/supertokens/supertokens-golang/ingredients/emaildelivery"
23-
evsmtpService "github.com/supertokens/supertokens-golang/recipe/emailverification/emaildelivery/smtpService"
2423
"github.com/supertokens/supertokens-golang/supertokens"
2524
)
2625

@@ -29,12 +28,8 @@ func MakeServiceImplementation(settings emaildelivery.SMTPSettings) emaildeliver
2928
return emaildelivery.SendSMTPEmail(settings, input)
3029
}
3130

32-
evServiceImpl := evsmtpService.MakeServiceImplementation(settings)
33-
3431
getContent := func(input emaildelivery.EmailType, userContext supertokens.UserContext) (emaildelivery.EmailContent, error) {
35-
if input.EmailVerification != nil {
36-
return (*evServiceImpl.GetContent)(input, userContext)
37-
} else if input.PasswordReset != nil {
32+
if input.PasswordReset != nil {
3833
return getPasswordResetEmailContent(*input.PasswordReset)
3934
} else {
4035
return emaildelivery.EmailContent{}, errors.New("should never come here")

recipe/emailpassword/epmodels/models.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,10 @@ type TypeNormalisedInputSignIn struct {
5858
}
5959

6060
type TypeInputResetPasswordUsingTokenFeature struct {
61-
GetResetPasswordURL func(user User, userContext supertokens.UserContext) (string, error)
6261
CreateAndSendCustomEmail func(user User, passwordResetURLWithToken string, userContext supertokens.UserContext) // Deprecated: Use EmailDelivery instead.
6362
}
6463

6564
type TypeNormalisedInputResetPasswordUsingTokenFeature struct {
66-
GetResetPasswordURL func(user User, userContext supertokens.UserContext) (string, error)
6765
FormFieldsForGenerateTokenForm []NormalisedFormField
6866
FormFieldsForPasswordResetForm []NormalisedFormField
6967
}

recipe/emailpassword/passwordResetFunctions.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,6 @@ var PasswordResetDataForTest = struct {
3434
UserContext supertokens.UserContext
3535
}{}
3636

37-
func defaultGetResetPasswordURL(appInfo supertokens.NormalisedAppinfo) func(_ epmodels.User, userContext supertokens.UserContext) (string, error) {
38-
return func(_ epmodels.User, userContext supertokens.UserContext) (string, error) {
39-
return appInfo.WebsiteDomain.GetAsStringDangerous() + appInfo.WebsiteBasePath.GetAsStringDangerous() + "/reset-password", nil
40-
}
41-
}
42-
4337
func DefaultCreateAndSendCustomPasswordResetEmail(appInfo supertokens.NormalisedAppinfo) func(user epmodels.User, passwordResetURLWithToken string, userContext supertokens.UserContext) {
4438
return func(user epmodels.User, passwordResetURLWithToken string, userContext supertokens.UserContext) {
4539
if supertokens.IsRunningInTestMode() {

recipe/emailpassword/utils.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ func validateAndNormaliseUserInput(recipeInstance *Recipe, appInfo supertokens.N
3333

3434
if config != nil && config.SignUpFeature != nil {
3535
typeNormalisedInput.SignUpFeature = validateAndNormaliseSignupConfig(config.SignUpFeature)
36-
typeNormalisedInput.ResetPasswordUsingTokenFeature = validateAndNormaliseResetPasswordUsingTokenConfig(appInfo, typeNormalisedInput.SignUpFeature, nil)
36+
typeNormalisedInput.ResetPasswordUsingTokenFeature = validateAndNormaliseResetPasswordUsingTokenConfig(typeNormalisedInput.SignUpFeature)
3737
}
3838

3939
// we must call this after validateAndNormaliseSignupConfig
4040
typeNormalisedInput.SignInFeature = validateAndNormaliseSignInConfig(typeNormalisedInput.SignUpFeature)
4141

4242
if config != nil && config.ResetPasswordUsingTokenFeature != nil {
43-
typeNormalisedInput.ResetPasswordUsingTokenFeature = validateAndNormaliseResetPasswordUsingTokenConfig(appInfo, typeNormalisedInput.SignUpFeature, config.ResetPasswordUsingTokenFeature)
43+
typeNormalisedInput.ResetPasswordUsingTokenFeature = validateAndNormaliseResetPasswordUsingTokenConfig(typeNormalisedInput.SignUpFeature)
4444
}
4545

4646
typeNormalisedInput.GetEmailDeliveryConfig = func(recipeImpl epmodels.RecipeInterface) emaildelivery.TypeInputWithService {
@@ -82,7 +82,7 @@ func makeTypeNormalisedInput(recipeInstance *Recipe) epmodels.TypeNormalisedInpu
8282
return epmodels.TypeNormalisedInput{
8383
SignUpFeature: signUpConfig,
8484
SignInFeature: validateAndNormaliseSignInConfig(signUpConfig),
85-
ResetPasswordUsingTokenFeature: validateAndNormaliseResetPasswordUsingTokenConfig(recipeInstance.RecipeModule.GetAppInfo(), signUpConfig, nil),
85+
ResetPasswordUsingTokenFeature: validateAndNormaliseResetPasswordUsingTokenConfig(signUpConfig),
8686
Override: epmodels.OverrideStruct{
8787
Functions: func(originalImplementation epmodels.RecipeInterface) epmodels.RecipeInterface {
8888
return originalImplementation
@@ -94,11 +94,10 @@ func makeTypeNormalisedInput(recipeInstance *Recipe) epmodels.TypeNormalisedInpu
9494
}
9595
}
9696

97-
func validateAndNormaliseResetPasswordUsingTokenConfig(appInfo supertokens.NormalisedAppinfo, signUpConfig epmodels.TypeNormalisedInputSignUp, config *epmodels.TypeInputResetPasswordUsingTokenFeature) epmodels.TypeNormalisedInputResetPasswordUsingTokenFeature {
97+
func validateAndNormaliseResetPasswordUsingTokenConfig(signUpConfig epmodels.TypeNormalisedInputSignUp) epmodels.TypeNormalisedInputResetPasswordUsingTokenFeature {
9898
normalisedInputResetPasswordUsingTokenFeature := epmodels.TypeNormalisedInputResetPasswordUsingTokenFeature{
9999
FormFieldsForGenerateTokenForm: nil,
100100
FormFieldsForPasswordResetForm: nil,
101-
GetResetPasswordURL: defaultGetResetPasswordURL(appInfo),
102101
}
103102

104103
if len(signUpConfig.FormFields) > 0 {
@@ -118,10 +117,6 @@ func validateAndNormaliseResetPasswordUsingTokenConfig(appInfo supertokens.Norma
118117
normalisedInputResetPasswordUsingTokenFeature.FormFieldsForPasswordResetForm = formFieldsForPasswordResetForm
119118
}
120119

121-
if config != nil && config.GetResetPasswordURL != nil {
122-
normalisedInputResetPasswordUsingTokenFeature.GetResetPasswordURL = config.GetResetPasswordURL
123-
}
124-
125120
return normalisedInputResetPasswordUsingTokenFeature
126121
}
127122
func validateAndNormaliseSignInConfig(signUpConfig epmodels.TypeNormalisedInputSignUp) epmodels.TypeNormalisedInputSignIn {

0 commit comments

Comments
 (0)