Closed Naituw closed 11 years ago
更新需求,增加 last_email_sent字段,为当前用户最后一次发送验证邮件的时间,随user结构返回。
注意非当前用户的user结构不返回新增的两个字段 @wavechao
email 发送间隔改为30分钟
注意非当前用户的user结构不返回新增的两个字段 @wavechao 这个有点麻烦,都是哪个字段不输出是直接设置的,要这样子只能一个个弄到map里面去了
@wavechao 增加了新接口的返回数据说明
@wavechao 规范了接口命名
如果当前email没有值,返回错误:“您未填写有效的Email地址” 如果当前email_verified已经为1,返回错误:“您的Email地址已经认证过了” 这两个错误码多少
@wavechao 都 400就行了
account/verify_email.json 这个接口要实现什么,就是手动请求发送一次邮箱验证?
@wavechao 我忘了上面写过了,现在合并了,就是用于手动请求验证,一般是在 没有收到邮件 或者 管理员添加用户时设置了邮箱 时使用
用
<br/>
换行试试
account/verify_email.json 验证已经实现,修改账号邮件验证也实现了,注意生成的验证码token是一次性的
https://lwapi.sinaapp.com/account/verify_email.json
Auth:Basic MDkyMDExMDcwOmY5MzFjMzA4ZmM1YjYwYjQyMWMwOTk2OTkxMjgzOWRmZjI3NzY5NTdkOThiOGQyZjkxYzU1NGVkOGZjODBmNzg=
{"code":404,"message":"请求失败","object":null}
@wavechao
接口名我之前搞错了
@wavechao 验证地址应该没有 .json 并且返回HTML的提示而不是JSON
增加邮箱验证功能,确保邮件发送到的地址是有效的
数据库已增加字段: email_verified TINYINT(1),此字段在本人的user结构返回 last_email_sent timestamp,此字段在本人的user结构返回
初步逻辑
新创建的用户,不管有没有email值,email_verified均为0,代表未验证。last_email_send为 0,代表没有发过验证邮件
手动验证
通过新接口 POST account/verify_email.json 来进行验证。
参数列表:无
这里验证的时候在last_email_sent记录最后一次验证的时间,如果验证间隔小于30分钟,则返回失败:“三十分钟内只能进行一次验证”; 如果当前email没有值,返回错误:“您未填写有效的Email地址” 如果当前email_verified已经为1,返回错误:“您的Email地址已经认证过了”
如果没有以上问题,返回200并发送邮件到用户邮箱。
返回结果:无论成功还是失败,object都返回当前登陆用户的最新user数据
自动验证
在用户调用"修改用户资料"接口时,如果邮箱有变化并且有值,则将email_verified 设为0,last_email_sent设为当前,并直接发送验证邮件。
邮件格式
标题:
内容(纯文本):
链接的token可以是存在kvdb中用来比对,成功后修改数据库,并直接在页面显示
比对失败时: