摘要:收到验证码后使用验证码登录注册。其中,是设备和命名的。是登录前的安全验证机制,登录完删除。在用户未收到短信的情况下,再次调用此函数发起电话回呼通知验证码。完成认证请求响应。响应认证成功后返回信息。结束认证会话注销单个会话。
1.API认证接口定义
认证目前只支持一种方式:短信或电话回呼。(译注:此处不准确,起码还要邮箱等其他方式。)
认证步骤:
调用RequestAuthCode请求验证码。
收到验证码后使用验证码 登录/注册。
如果一直没收到验证码,调用AuthCodeCall请求电话回呼。
认证规则:
如果RequestAuthCode返回 isRegistered = false, 那么下一步使用注册接口SignUp, 否则使用登录接口 SignIn。
如果任何步骤返回超时,整个流程必须从头开始。
API定义:StartPhoneAuth 开始电话验证
SendCodeByPhoneCall 使用电话回呼方式接收验证码
StartEmailAuth 开始邮箱验证
StartAnonymousAuth 开始匿名认证
StartTokenAuth 启动基于token的登录
StartUsernameAuth 开始账号方式登录
ValidateCode 验证用户登录
ValidatePassword 验证账号密码
GetOAuth2Params 获取OAuth2参数
CompleteOAuth2 完成OAuth2登录
SignUp 注册
SignIn 登录
GetAuthSessions 获取验证会话
TerminateSession 结束会话
TerminateAllSessions 结束所有会话
SignOut 注销
电话方式认证类型:
1.Code
2.Password
邮箱方式认证类型:
1.Code
2.OAuth2
3.Password
请求:
StartPhoneAuth(Phone, AppId, AppKey, deviceHash, deviceTitle, timeZone, Languages);
响应:
PhoneResponse(transactionHash, isRegistered)。
其中,deviceHash 是设备uuid和app命名id的hash。用于重新安装时自动注销用户。(怎么起作用待研究)。
注: 此处isRegistered 为false的话就需要走注册流程,否则走登录流程:虽然一样。transactionHash 是登录前的安全验证机制,登录完删除。
2.3.电话认证2(回呼)请求:
SendCodeByPhoneCall(transactionHash)
响应:空。
在用户未收到短信的情况下,再次调用此函数发起电话回呼通知验证码。
2.4.邮箱认证请求:
StartEmailAuth(email, appId, appKey, deviceHash, deviceTitle, timeZone, languages);
响应:
EMailResponse(transactionHash, isRegistered, activationType)。
其中activationType 时 Code, Password, OAuth2之一。
请求:
StartAnonymousAuth(name, appId, appKey, deviceHash, deviceTitle, timeZone, languages);
响应:
Auth。
按照新建用户处理。
2.6.Token认证请求:
StartTokenAuth(token, appId, appKey, deviceHash, deviceTitle, timeZone, languages);
响应:
Auth。
请求:
StartUsernameAuth(username, appId, appKey, deviceHash, deviceTitle, timeZone, languages);
响应:
usernameResponse(transactionHash, isRegistered);
请求:
ValidateCode(transactionHash, code);
响应:
Auth。
请求:
ValidatePassword(transactionHash, password);
响应:
Auth。
请求:
GetOAuth2Params(transactionHash, redirectUrl);
响应:
authUrl
redirectUrl是自己的Url, authUrl是第三方账号服务器的url。
2.11.完成OAuth2认证请求:
CompleteOAuth2(transactionHash, code);
响应:
Auth。
请求:
SignUp (transactionHash, name, sex, password)
响应:
Auth。
认证成功后返回AuthResponse信息。含登录用户信息和服务器配置信息。
Auth = (user, config)。
Struct AuthSession = (id, authHolder, appId, appTitle, deviceTitle, authTime, authLocation, latitude, longitude);
Enum AuthHolder = {ThisDevice, OtherDevice)
2.15.获取认证会话请求:
GetAuthSessions()
响应:
List of AuthSession。
获取所有活动用户的认证会话。 (译注:应该是指本人的多个设备登录会话)。
2.16.结束认证会话TerminateSession(id of AuthItem) = void. 注销单个会话。
TerminateAllSessions() = void. 注销除当前会话之外的所有会话。
SignOut() = void. 注销当前会话。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/66737.html
摘要:新增新增模型方法,主动刷新数据表结构缓存。分布式并发模型是什么是一种与共享内存对应的并发模型,具有资源独占性。都分布在不同的机器上。 One - 极简 . 高性能 . 松耦合 . 分布式 . 可运行于多种环境(cli,apache/php-fpm,swoole) 码云: https://gitee.com/vicself/onegithub: https://github.com/li...
摘要:本文介绍和点评上的等并发编程模型。异步更适合并发编程。同步使线程阻塞,导致等待。基本模型这是最简单的模型,创建线程来执行一个任务,完毕后销毁线程。响应式编程是一种面向数据流和变化传播的编程模式。起源于电信领域的的编程模型。 本文介绍和点评JVM上的Thread, Thread Pool, Future, Rx, async-await, Fiber, Actor等并发编程模型。本人经验...
摘要:本文介绍和点评上的等并发编程模型。异步更适合并发编程。同步使线程阻塞,导致等待。基本模型这是最简单的模型,创建线程来执行一个任务,完毕后销毁线程。响应式编程是一种面向数据流和变化传播的编程模式。起源于电信领域的的编程模型。 本文介绍和点评JVM上的Thread, Thread Pool, Future, Rx, async-await, Fiber, Actor等并发编程模型。本人经验...
摘要:我们会在后面的源码仓库全解析第三章下存储提供方矿工的配置操作章节重点介绍这个过程。参考文献本章赞助品牌深圳牛链科技有限公司,是一家专注存储类矿机研发生产销售托管为一体的高科技企业。感谢深圳牛链科技有限公司对嘉乐的原创内容提供支持。 欢迎大家来到第三章,经过 前章《【Filecoin源码仓库全解析】第二章:如何创建账户钱包并获取FIL Mock代币的内容阅读后,我们应该能顺利在Filec...
阅读 1644·2021-09-22 15:21
阅读 2862·2021-09-09 09:32
阅读 2682·2021-09-02 09:52
阅读 3305·2019-08-30 14:02
阅读 2220·2019-08-26 13:25
阅读 1449·2019-08-26 13:24
阅读 1600·2019-08-26 10:31
阅读 1555·2019-08-26 10:16