验证邮箱相当于更新email
请求方式:PUT /email/
请求参数: JSON 或 表单
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
str | 是 | Email邮箱 |
返回数据: JSON
返回值 | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | int | 是 | 用户id |
str | 是 | Email邮箱 |
添加序列化器验证邮箱信息,在update方法中保存邮箱后通过celery模块异步发送验证邮件
创建视图继承UpdateAPIView用于更新email
在User模型类中添加验证邮箱链接和校验邮箱链接方法, 为了使验证链接与用户唯一匹配且不暴露用户信息,不能被用户修改。使用itsdangerous生成用户id的token作为url查询参数。
创建VerifyEmailView视图,用于验证邮箱
用户点击激活邮箱即访问上面生成的url,服务端验证查询字符串中的token参数正确将用户模型对象的email_active设为True。