bladerpc
06/23/2023, 8:27 AMrp_st
06/23/2023, 8:28 AMbladerpc
06/23/2023, 8:29 AMbladerpc
06/23/2023, 8:29 AMbladerpc
06/23/2023, 8:30 AMgo
if input.EmailVerification != nil {
verifyEmailLink := strings.Replace(input.EmailVerification.EmailVerifyLink, "/login", "", 1)
verifyEmailLink = strings.Replace(verifyEmailLink, "verify-email", "verify-email-confirm", 1)
var emailBody string
emailTemplate, err := email.GetEmailTemplate(email.VerifyEmailPath, map[string]string{
"VerifyEmailLink": verifyEmailLink,
"CurrentYear": fmt.Sprintf("%d", time.Now().Year()),
})
if err != nil {
logger.Sugar().Error("Failed to retrieve verify email template template", "err", err)
emailBody = verifyEmailLink
} else {
emailBody = emailTemplate
}
user := input.EmailVerification.User
return emaildelivery.EmailContent{
Subject: "....",
Body: emailBody,
IsHtml: true,
ToEmail: user.Email,
}, nil
}
} else if input.PasswordReset != nil {
.....
}
rp_st
06/23/2023, 8:30 AMrp_st
06/23/2023, 8:30 AMbladerpc
06/23/2023, 8:31 AMbladerpc
06/23/2023, 8:31 AMbladerpc
06/23/2023, 8:32 AMrp_st
06/23/2023, 8:32 AMbladerpc
06/23/2023, 8:32 AMrp_st
06/23/2023, 8:32 AMrp_st
06/23/2023, 8:32 AMbladerpc
06/23/2023, 8:33 AMbladerpc
06/23/2023, 8:33 AMbladerpc
06/23/2023, 8:33 AMbladerpc
06/23/2023, 8:36 AMrp_st
06/23/2023, 8:39 AMbladerpc
06/23/2023, 8:39 AMbladerpc
06/23/2023, 8:40 AMrp_st
06/23/2023, 8:42 AMemailDelivery
?bladerpc
06/23/2023, 8:43 AMbladerpc
06/23/2023, 8:43 AMgo
emailDelivery := &emaildelivery.TypeInput{
Service: emailpassword.MakeSMTPService(emaildelivery.SMTPServiceConfig{
Settings: emaildelivery.SMTPSettings{
From: emaildelivery.SMTPFrom{
Name: "no-reply",
Email: "noreply@nodies.app",
},
Host: smtpConfig.Host,
Port: smtpConfig.Port,
Username: &smtpUsername,
Password: smtpConfig.Password,
Secure: true,
},
Override: func(originalImplementation emaildelivery.SMTPInterface) emaildelivery.SMTPInterface {
originalGetContent := *originalImplementation.GetContent
*originalImplementation.GetContent = func(input emaildelivery.EmailType, userContext supertokens.UserContext) (emaildelivery.EmailContent, error) {
if input.EmailVerification != nil {
verifyEmailLink := strings.Replace(input.EmailVerification.EmailVerifyLink, "/login", "", 1)
verifyEmailLink = strings.Replace(verifyEmailLink, "verify-email", "verify-email-confirm", 1)
var emailBody string
emailTemplate, err := email.GetEmailTemplate(email.VerifyEmailPath, map[string]string{
"VerifyEmailLink": verifyEmailLink,
"CurrentYear": fmt.Sprintf("%d", time.Now().Year()),
})
if err != nil {
logger.Sugar().Error("Failed to retrieve verify email template template", "err", err)
emailBody = verifyEmailLink
} else {
emailBody = emailTemplate
}
user := input.EmailVerification.User
return emaildelivery.EmailContent{
Subject: "Nodies DLB - Verify your email",
Body: emailBody,
IsHtml: true,
ToEmail: user.Email,
}, nil
} else if input.PasswordReset != nil {
passwordResetLink := strings.Replace(input.PasswordReset.PasswordResetLink, "/login", "", 1)
var emailBody string
emailTemplate, err := email.GetEmailTemplate(email.ForgotPasswordPath, map[string]string{
"PasswordResetLink": passwordResetLink,
"CurrentYear": fmt.Sprintf("%d", time.Now().Year()),
})
if err != nil {
logger.Sugar().Error("Failed to retrieve password template", "err", err)
emailBody = passwordResetLink
} else {
emailBody = emailTemplate
}
user := input.PasswordReset.User
return emaildelivery.EmailContent{
Subject: "Nodies DLB - Password reset request",
Body: emailBody,
IsHtml: true,
ToEmail: user.Email,
}, nil
}
originalContent, err := originalGetContent(input, userContext)
return originalContent, err
}
return originalImplementation
},
}),
}
rp_st
06/23/2023, 8:45 AMbladerpc
06/23/2023, 8:45 AMrp_st
06/23/2023, 8:45 AMrp_st
06/23/2023, 8:47 AMbladerpc
06/23/2023, 8:49 AMgo
2023-06-23T03:47:56.154-0500 ERROR supertokens_auth auth/supertokens.go:93 i
in password reset
doesn't happen for email verificationnkshah2
06/23/2023, 8:49 AMbladerpc
06/23/2023, 8:50 AMnkshah2
06/23/2023, 8:50 AMbladerpc
06/23/2023, 8:50 AMbladerpc
06/23/2023, 8:50 AMbladerpc
06/23/2023, 8:50 AMnkshah2
06/23/2023, 8:58 AM*originalImplementation.GetContent
, can you print the contents of input for when you trigger the email verification flow?bladerpc
06/23/2023, 8:59 AMnkshah2
06/23/2023, 9:00 AM*originalImplementation.GetContent = func(input emaildelivery.EmailType, userContext supertokens.UserContext) (emaildelivery.EmailContent, error) {
The value of input emaildelivery.EmailType
bladerpc
06/23/2023, 9:04 AMbladerpc
06/23/2023, 9:04 AMsh
com.supertokens {t: "2023-06-23T04:03:44-05:00", message: "getSession: Success!", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/recipe/session/recipeImplementation.go:251" sdkVer: "0.12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "Sending email verification email to {{email}}", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/recipe/emailverification/api/
implementation.go:133" sdkVer: "0.12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "errorHandler: Started", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/supertokens/supertokens.go:242" sdkVer: "0.12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "errorHandler: Checking recipe for match: thirdpartyemailpassword", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/supertokens/supertokens.go:
256" sdkVer: "0.12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "errorHandler: Matched with recipeId: thirdpartyemailpassword", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/supertokens/supertokens.go:258"
sdkVer: "0.12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "errorHandler: Checking recipe for match: emailverification", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/supertokens/supertokens.go:256" s
dkVer: "0.12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "errorHandler: Matched with recipeId: emailverification", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/supertokens/supertokens.go:258" sdkVe
r: "0.12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "errorHandler: Checking recipe for match: session", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/supertokens/supertokens.go:256" sdkVer: "0.
12.7"}
com.supertokens {t: "2023-06-23T04:03:45-05:00", message: "errorHandler: Matched with recipeId: session", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/supertokens/supertokens.go:258" sdkVer: "0.12.7
"}
2023-06-23T04:03:45.048-0500 INFO zap@v0.1.0/zap.go:90 /api/v1/auth/user/email/verify/token
nkshah2
06/23/2023, 9:06 AMcom.supertokens {t: "2023-06-23T04:03:45-05:00", message: "Sending email verification email to {{email}}", file: "C:/Users/iuhas/go/packages/pkg/mod/github.com/supertokens/supertokens-golang@v0.12.7/recipe/emailverification/api/
implementation.go:133" sdkVer: "0.12.7"}
?bladerpc
06/23/2023, 9:08 AMbladerpc
06/23/2023, 9:08 AMnkshah2
06/23/2023, 9:08 AMnkshah2
06/23/2023, 9:16 AMemailpassword.MakeSMTPService
for email verification as well. For email verification you need to use emailverification.MakeSMTPService
insteadbladerpc
06/23/2023, 9:20 AMbladerpc
06/23/2023, 9:21 AMbladerpc
06/23/2023, 9:21 AMbladerpc
06/23/2023, 9:21 AMnkshah2
06/23/2023, 9:22 AMbladerpc
06/23/2023, 9:22 AMnkshah2
06/23/2023, 9:22 AMbladerpc
06/23/2023, 9:22 AMbladerpc
06/23/2023, 9:24 AMnkshah2
06/23/2023, 9:24 AMnkshah2
06/23/2023, 9:24 AMbladerpc
06/23/2023, 9:24 AMbladerpc
06/23/2023, 9:25 AMgo
emailDeliveryForTpEp := &emaildelivery.TypeInput{
Service: thirdpartyemailpassword.MakeSMTPService(smtpServiceConfig),
}
emailDeliveryForEmailVerification := &emaildelivery.TypeInput{
Service: emailverification.MakeSMTPService(smtpServiceConfig),
}
nkshah2
06/23/2023, 9:25 AMbladerpc
06/23/2023, 9:26 AM{
"status": "OK"
}
bladerpc
06/23/2023, 9:26 AMnkshah2
06/23/2023, 9:27 AM