actor im 中 多种登录机制的设定

1.API认证接口定义

认证目前只支持一种方式:短信或电话回呼。(译注:此处不准确,起码还要邮箱等其他方式。)
认证步骤:

  1. 调用RequestAuthCode请求验证码。

  2. 收到验证码后使用验证码 登录/注册。

  3. 如果一直没收到验证码,调用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 注销

2.API详解

2.1.认证类型(译注:未全部实现)

电话方式认证类型:
1.Code
2.Password

邮箱方式认证类型:
1.Code
2.OAuth2
3.Password

2.2.电话认证1

请求:

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之一。

2.5.匿名认证(意义待定)

请求:
StartAnonymousAuth(name, appId, appKey, deviceHash, deviceTitle, timeZone, languages);
响应:
Auth。

按照新建用户处理。

2.6.Token认证

请求:
StartTokenAuth(token, appId, appKey, deviceHash, deviceTitle, timeZone, languages);
响应:
Auth。

2.7.用户账号认证

请求:
StartUsernameAuth(username, appId, appKey, deviceHash, deviceTitle, timeZone, languages);
响应:
usernameResponse(transactionHash, isRegistered);

2.8.校验验证码

请求:
ValidateCode(transactionHash, code);
响应:
Auth。

2.9.验证密码

请求:
ValidatePassword(transactionHash, password);
响应:
Auth。

2.10.获取OAuth2参数

请求:
GetOAuth2Params(transactionHash, redirectUrl);
响应:
authUrl

redirectUrl是自己的Url, authUrl是第三方账号服务器的url。

2.11.完成OAuth2认证

请求:
CompleteOAuth2(transactionHash, code);
响应:
Auth。

2.12.注册

请求:
SignUp (transactionHash, name, sex, password)
响应:
Auth。

2.13.Auth响应

认证成功后返回AuthResponse信息。含登录用户信息和服务器配置信息。
Auth = (user, config)。

2.14.认证会话相关结构

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. 注销当前会话。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值