diff --git a/backend-go/db/atproto.go b/backend-go/db/atproto.go index 9407bfc..7c7ccca 100644 --- a/backend-go/db/atproto.go +++ b/backend-go/db/atproto.go @@ -62,9 +62,10 @@ func FindOrCreateUserFromAtproto(db *sql.DB, did, handle, email, avatar, linkToU } if updates { - - _, _ = db.Exec(`UPDATE users SET username = ?, avatarUrl = ?, email = ? WHERE id = ?`, + _, _ = db.Exec(`UPDATE users SET username = ?, avatarUrl = ?, email = ?, emailVerified = 1 WHERE id = ?`, user.Username, user.AvatarURL, user.Email, user.ID) + } else { + _, _ = db.Exec(`UPDATE users SET emailVerified = 1 WHERE id = ?`, user.ID) } UpdateLastLogin(db, user.ID) @@ -119,10 +120,7 @@ func FindOrCreateUserFromAtproto(db *sql.DB, did, handle, email, avatar, linkToU uid := cuid2.Generate() now := time.Now().UTC().Format(time.RFC3339) - emailVerified := 0 - if email != "" { - emailVerified = 1 - } + emailVerified := 1 _, err = db.Exec(`INSERT INTO users (id, email, username, avatarUrl, emailVerified, createdAt, lastLoginAt) VALUES (?, ?, ?, ?, ?, ?, ?)`, uid, finalEmail, username, avatar, emailVerified, now, now) diff --git a/backend-go/handlers/oauth.go b/backend-go/handlers/oauth.go index 258dd16..fe9a3b4 100644 --- a/backend-go/handlers/oauth.go +++ b/backend-go/handlers/oauth.go @@ -50,6 +50,8 @@ func (h *AuthHandler) OAuthCallback(w http.ResponseWriter, r *http.Request) { _, _ = h.DB.Exec(`UPDATE oauthAccounts SET accessToken = ? WHERE id = ?`, gothUser.AccessToken, existingAcc.ID) + h.DB.Exec(`UPDATE users SET emailVerified = 1 WHERE id = ?`, existingAcc.UserID) + if err := middleware.LoginUser(w, r, existingAcc.UserID); err != nil { http.Redirect(w, r, "/?error=session-error", http.StatusTemporaryRedirect) return @@ -78,6 +80,8 @@ func (h *AuthHandler) OAuthCallback(w http.ResponseWriter, r *http.Request) { return } + h.DB.Exec(`UPDATE users SET emailVerified = 1 WHERE id = ?`, existingUser.ID) + if err := middleware.LoginUser(w, r, existingUser.ID); err != nil { http.Redirect(w, r, "/?error=session-error", http.StatusTemporaryRedirect) return @@ -95,16 +99,7 @@ func (h *AuthHandler) OAuthCallback(w http.ResponseWriter, r *http.Request) { return } - verified := false - if v, ok := gothUser.RawData["verified"].(bool); ok && v { - verified = true - } else if v, ok := gothUser.RawData["email_verified"].(bool); ok && v { - verified = true - } - - if verified { - _, _ = h.DB.Exec(`UPDATE users SET emailVerified = 1 WHERE id = ?`, userID) - } + _, _ = h.DB.Exec(`UPDATE users SET emailVerified = 1 WHERE id = ?`, userID) err = db.CreateOAuthAccount(h.DB, cuid2.Generate(), provider, gothUser.UserID, userID, gothUser.AccessToken, gothUser.Name) if err != nil {