在我的组织中,我们正在向模块化软件架构迈进。我们仍处于起步阶段,目前正在开发用户身份验证 (UA) 模块。
我正在寻找有关用户身份验证模块方面的最佳实践的信息。
我目前的想法如下:
- 客户端使用登录详细信息查询 UA 模块
- UA 模块检查登录详细信息。如果它们是有效的,UA 模块创建并存储访问令牌,将令牌与经过验证的用户的唯一 ID 相关联。
- 令牌被发送回客户端。客户端存储令牌。
- 每当客户端需要身份验证时,它都会使用令牌查询 UA 模块。如果令牌有效,UA模块返回用户的唯一ID,如果令牌无效,则返回错误码。
我将不胜感激对这些方法的任何批评。
我也有兴趣知道如何处理代币的积累。显然,如果用户选择注销,则令牌将被删除。
我的想法是令牌应该有与之相关的到期日期,并且工作进程应该定期清理这些令牌。这是做事的正确方式吗?
请评论!参考文件也值得赞赏。