gpt4 book ai didi

spring - 在微服务架构中组织用户和身份验证

转载 作者:行者123 更新时间:2023-12-04 12:10:42 27 4
gpt4 key购买 nike

在我们的微服务中,我们将拥有自定义身份验证/授权服务,即 UAA,对吗?让用户 Controller 进行登录、 token 验证或创建用户是有意义的。

但是还有第二个用例。我们还需要一些用户管理来向用户添加收藏夹联系人,用一些附加信息、用户地址等填充个人资料。在第二个用例中,我希望为此目的提供第二个微服务。您有什么建议或最佳做法是什么?

  • 有一个用于用户管理的微服务,例如他的个人资料、联系人、凭据以及登录/ token 提供
  • 有两个微服务 - 一个用于管理用户凭据、 token 提供 (uaa),第二个用于用户附加信息
  • 有两个微服务 - 一个用于完全分离的用户管理,第二个用于身份验证、 token 提供,如果需要一些用户数据或验证用户凭据,将消耗用户服务的其余 api

  • 对我来说是 3. 选项很好,但我想听听你的意见。

    最佳答案

    我的建议是有两个微服务:

  • 一种用于用户管理,例如他的个人资料、联系人、凭据。在此微服务上,用户将创建帐户、发送重置密码等。
  • 一个用于授权(例如:带有 JWT token 的 Oauth2)。此微服务将仅用于授权(在 ouath2 和 JWT 的情况下,用于根据用户名/邮件和密码生成 JWT token )。

  • 当用户创建帐户时,将向授权微服务发出带有用户凭据和权限的请求,以通知新用户已创建。用户重置密码或删除用户也是如此。
    授权微服务将接收该请求并将用户凭据和权限保存在自己的数据库中,例如 Redis 或 PosgreSQL。每个将登录您的服务/应用程序的用户将首先调用授权微服务,将收到一个包含用户元数据(姓名、角色和其他信息)的 jwt token ,并使用该 token 将请求发送到您的应用程序/服务的其他微服务,例如用于用户管理、订单服务或其他。

    关于spring - 在微服务架构中组织用户和身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58913752/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com