diff --git a/server/db/models/verification_requests.go b/server/db/models/verification_requests.go index 50fa77f..7d94c6a 100644 --- a/server/db/models/verification_requests.go +++ b/server/db/models/verification_requests.go @@ -12,7 +12,7 @@ type VerificationRequest struct { CreatedAt int64 `json:"created_at" bson:"created_at"` UpdatedAt int64 `json:"updated_at" bson:"updated_at"` Email string `gorm:"uniqueIndex:idx_email_identifier" json:"email" bson:"email"` - Nonce string `gorm:"type:char(36)" json:"nonce" bson:"nonce"` + Nonce string `gorm:"type:text" json:"nonce" bson:"nonce"` RedirectURI string `gorm:"type:text" json:"redirect_uri" bson:"redirect_uri"` } diff --git a/server/email/verification_email.go b/server/email/verification_email.go index cc6bb54..2c10ef4 100644 --- a/server/email/verification_email.go +++ b/server/email/verification_email.go @@ -1,6 +1,8 @@ package email import ( + "fmt" + "github.com/authorizerdev/authorizer/server/constants" "github.com/authorizerdev/authorizer/server/envstore" ) @@ -103,5 +105,9 @@ func SendVerificationMail(toEmail, token, hostname string) error { message = addEmailTemplate(message, data, "verify_email.tmpl") // bodyMessage := sender.WriteHTMLEmail(Receiver, Subject, message) - return SendMail(Receiver, Subject, message) + err := SendMail(Receiver, Subject, message) + if err != nil { + fmt.Println("=> error sending email:", err) + } + return err } diff --git a/server/resolvers/magic_link_login.go b/server/resolvers/magic_link_login.go index ff39da8..7014ca1 100644 --- a/server/resolvers/magic_link_login.go +++ b/server/resolvers/magic_link_login.go @@ -139,7 +139,7 @@ func MagicLinkLoginResolver(ctx context.Context, params model.MagicLinkLoginInpu if err != nil { log.Println(`error generating token`, err) } - db.Provider.AddVerificationRequest(models.VerificationRequest{ + _, err = db.Provider.AddVerificationRequest(models.VerificationRequest{ Token: verificationToken, Identifier: verificationType, ExpiresAt: time.Now().Add(time.Minute * 30).Unix(), @@ -147,8 +147,11 @@ func MagicLinkLoginResolver(ctx context.Context, params model.MagicLinkLoginInpu Nonce: nonceHash, RedirectURI: redirectURL, }) + if err != nil { + return res, err + } - // exec it as go routin so that we can reduce the api latency + // exec it as go routing so that we can reduce the api latency go email.SendVerificationMail(params.Email, verificationToken, hostname) }