使用Google/GitHub OAuth登录时如何获取邮箱并存储至数据库?
如何将登录邮箱存入数据库
具体实现步骤
捕获邮箱输入
从登录表单中获取用户输入的邮箱地址:
前端(JavaScript)示例:const userEmail = document.querySelector('#email-input').value;后端(Python Flask)示例:
user_email = request.form.get('email')准备数据库表
创建包含邮箱字段的用户表(以MySQL为例),建议给邮箱字段加唯一约束避免重复:CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL UNIQUE, password_hash VARCHAR(255) NOT NULL );写入数据库
通过后端代码执行插入操作,注意使用参数化查询防止SQL注入:
Python(PostgreSQL psycopg2)示例:import psycopg2 conn = psycopg2.connect("dbname=your_db user=your_user password=your_pwd") cur = conn.cursor() cur.execute("INSERT INTO users (email) VALUES (%s)", (user_email,)) conn.commit() cur.close() conn.close()关键校验处理
- 前后端双重校验邮箱格式(可用正则表达式)
- 捕获邮箱重复的数据库异常,返回用户友好提示(如“该邮箱已注册”)
内容的提问来源于stack exchange,提问作者Sundar Anbu
相关产品推荐
相关产品推荐

