tuyho
02/16/2023, 7:17 AMsattvikc
02/16/2023, 7:25 AMtuyho
02/16/2023, 7:30 AMsattvikc
02/16/2023, 7:36 AMgo
package main
import (
"fmt"
"github.com/supertokens/supertokens-golang/ingredients/emaildelivery"
"github.com/supertokens/supertokens-golang/recipe/emailverification"
"github.com/supertokens/supertokens-golang/recipe/thirdpartypasswordless"
)
func sendEmailVerification(email string) {
users, err := thirdpartypasswordless.GetUsersByEmail(email)
if err != nil {
// handle error
return
}
for _, user := range users {
if user.ThirdParty != nil { // Email verification is applicable only for thirdparty user
tokenRes, err := emailverification.CreateEmailVerificationToken(user.ID, nil)
if err != nil {
// handle error
return
}
if tokenRes.OK != nil {
emailVerificationURL := fmt.Sprintf(
"%s%s/verify-email?token=%s&rid=emailverification",
"http://localhost:3000", // website domain
"/auth", // website base path
tokenRes.OK.Token,
)
emailverification.SendEmail(emaildelivery.EmailType{
EmailVerification: &emaildelivery.EmailVerificationType{
User: emaildelivery.User{
ID: user.ID,
Email: *user.Email,
},
EmailVerifyLink: emailVerificationURL,
},
})
}
}
}
}
sattvikc
02/16/2023, 7:37 AMtuyho
02/17/2023, 4:46 PM