点我 打开/关闭 目录列表
基础Url:api/account/
下面没有介绍到的几个接口也可以根据文档中的思路进行类推,不再一一赘述
采用极验人机验证,参阅 极验技术文档
先调用 GetGeetestCode 接口获取极验初始化参数,再按照极验文档中的方法初始化人机验证,用户通过人机验证后会得到 Challenge,Validate,Seccode
- Cookie:本地地生成随机字符串并保存到LocalStorage
- IP:调用API或通过其他方式获取用户真实IP,也可以填写内网IP,服务器会获取调用方IP
- 根据接口说明传递即可
- 建议封装,方便调用
- 调用人机验证
- 将电子邮箱,密码,等参数准备好,调用 Register 接口
- 若注册失败,可能原因如下
- 没有通过人机验证
- 用户名必须少于20字符
- 此用户名已经被注册
- 此电子邮箱已经被注册
- 发送验证码的过程中发生错误
- 若注册成功,会发送验证邮件到用户电子邮箱中
- 可以调用 CheckVerificationCode 判断验证码是否存在,不等同验证码有效,可以初略判断
- 调用 ConfirmEmailRegister 接口进行验证
- 若成功则返回JWT令牌,可以根据用户设置判断是否保存在本地
- 调用人机验证
- 将账户,密码,等参数准备好,调用 Login 接口
- 若登入失败,可能原因如下
- 没有通过人机验证
- 用户名或密码错误
- 你的电子邮件还没有进行验证
- 该用户已经被封禁
- 没有通过身份验证(绑定手机号或第三方实名平台,目前未开启)
- 历史用户需要验证
- 若登入成功,则返回JWT令牌
- 如果是历史用户,已经向用户邮箱发送验证码
- 将验证码和新密码一起传递给 HistorUserChangePassword 成功后引导用户重新登入
调用 RefreshJWToken 接口
本方法用于跨域传递登入状态,有效时间1小时
- 在登入状态下调用 GetOneTimeCodeAsync 接口获取一次性代码
- 将一次性代码传递到新的网站或APP
- 新的网站调用 LoginByOneTimeCode 接口获取JWT令牌
项目采用JWT令牌作为安全验证方式,请参阅 什么是 JWT -- JSON WEB TOKEN
请求头里加入Authorization,并加上Bearer标注
fetch('api/user/1', {
headers: {
'Authorization': 'Bearer ' + token
}
})
- 进行人机验证
- 确定发送类型:电子邮件、手机短信
- 确定发送目标:用户名、登录令牌、邮件或手机
称呼查找优先级:用户名 > 登录令牌 > 当前登入用户的邮件或手机 > 邮件或手机 目标地址优先级:邮件或手机 > 当前登入用户的邮件或手机
- 调用 PostVerificationCode 向用户发送验证码
- 确保处于登入状态
- 调用 SecondAuthenticationAsync 接口产生验证码
- 进行人机验证
- 向用户发送验证码
- 调用 SecondAuthenticationAsync 验证身份
- 若成功,会返回一个令牌,有效时间1小时,作为参数传递给敏感操作的接口
- 进行二次身份验证
- 将新密码传递给 ChangePasswordAsync 接口
- 若成功,请引导用户重新登入
- 进行二次身份验证
- 将新邮箱传递给 ChangeEmailBeforeAsync 产生验证码
- 向用户发送验证码
- 调用 ChangeEmailAfterAsync 验证
- 将用户输入的邮箱或手机号传递给 ForgetPasswordAsync
- 发送验证码
- 将验证码和新密码一起传递给 ConfirmForgetPassword