微服务的登录身份验证流程

时间:2019-11-26 20:01:30

标签: authentication database-design architecture microservices

我最近才刚开始,一直在研究微服务。有几件事使我感到困惑。 首先,我想为身份验证和用户创建一个单独的MC,并为用户创建此数据库架构

用户表

id,姓名,电子邮件等

user_pass表

id,user_id,pass,salt,alg等

我的问题是登录流身份验证,并且我缩小了3个选择范围

  1. 浏览器请求被发送到-> APIGateway->用户MC以获取传递详细信息,然后发送消息队列-> Auth MC->验证->发回令牌

  2. 浏览器请求发送到-> APIGateway->身份验证MC->直接从数据库获取详细信息->验证->发回令牌

  3. 浏览器请求发送到-> APIGateway->用户MC->使用小的身份验证码进行验证->发送回令牌

我打算只做2号,但是我已经读到在MC之间共享数据库很不好,所以也许是数据库模式是问题所在吗? 我应该只让user_pass表成为特定于Auth MC的数据库的表,并从那里查询吗? (UserDB.user_pass --- >>> AuthDB.user_auth)

我还计划仅将Auth MC用作每个请求中JWT的票证检查器,或者可能在网关中过滤该请求(第2个登录流程除外) 但这并不是我现在关心的任何事情,因为我知道它可能非常广泛,我现在主要关心的是登录流程。

所以,请让我知道我在做什么错或不清楚的地方。这将不胜感激。预先感谢。

0 个答案:

没有答案