登录验证草图

This commit is contained in:
2026-01-15 09:44:12 +08:00
parent fda9883eb2
commit a71db7d7d1

View File

@@ -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