登录验证草图
This commit is contained in:
@@ -8,6 +8,21 @@ WinBoLL 应用授权 AuthCenter APP。
|
||||
适配安卓应用 [AIDE Pro] 的 Gradle 编译结构。
|
||||
也适配安卓应用 [AndroidIDE] 的 Gradle 编译结构。
|
||||
|
||||
#### 应用设计概述
|
||||
##### 登录认证过程
|
||||
1. 用户输入登录邮箱与服务地址。
|
||||
2. 服务器发送验证码到登录邮箱。
|
||||
3. 用户在应用里输入验证码。
|
||||
4. 应用提示用户使用空白NFC卡连接手机。
|
||||
5. 用户使用NFC卡连接手机。
|
||||
6. 应用生成应用私钥,并使用服务器公钥加密应用私钥,最后写入NFC。
|
||||
7. 加密后的应用私钥写入NFC后,应用Data数据区保存一份加密副本。
|
||||
8. 应用加密后的应用私钥副本保存后,传递应用的公钥给服务器端。
|
||||
9. 服务器端生成唯一应用ID与短Token,与应用公钥一起保存在服务器里 radis 数据区里。服务器使用 ServerUtils 类根据应用ID查询应用公钥,使用使用应用公钥加密 PONG JSON(内容为应用ID, 短Token与登录标志位)传递给应用。
|
||||
10. 应用使用Data数据区保存的应用私钥副本解密出应用私钥保存在 AuthUtils 工具类属性值里。使用 AuthUtils 类的应用私钥解密 PONG JSON 读取是否登成功的信息。
|
||||
11. 应用登录信息解析出登录成功后,应用每一分钟就使用服务器公钥加密 PING JSON(内容为应用ID, 短Token与登录标志位)传递给服务器。
|
||||
12. 服务器解密接收到的 PING JSON 信息,查询 radis 应用ID与登录标志位。登录标志位为登录并且短Token与 radis 存储的短Token一致,就生成新的短Token,再次使用应用公钥加密 PONG JSON 发送给应用。登录标志位为注销或者短Token与 radis 存储的短Token不一致,服务器端就删除应用ID对应的 radis 记录。
|
||||
|
||||
|
||||
#### Gradle 编译说明
|
||||
调试版编译命令 :gradle assembleBetaDebug
|
||||
|
||||
Reference in New Issue
Block a user