【问题标题】:OAuth 2 - datasource to store usersOAuth 2 - 存储用户的数据源
【发布时间】:2017-10-21 02:46:48
【问题描述】:

我正在我的 Spring 应用中实现 OAuth2,我有一个问题。

嗯,我有授权服务器和资源服务器。我选择了密码流。

一切正常。但我不确定我应该在哪里存储用户。我有两个数据库 - 一个用于身份验证服务器,另一个用于我的 RestApi - 资源服务器。

此时我将用户存储在我的 restAPI 数据库中。为什么?因为我需要我的 restAPI 中的用户信息。你怎么看?我想知道我的身份验证服务器是否可以访问资源数据库是一种好方法......我不确定。

由于我的资源服务器可以访问身份验证数据库(以验证用户令牌) - 也许更好的方法是将用户存储在该数据库中?

【问题讨论】:

    标签: java spring security oauth-2.0


    【解决方案1】:

    当然,用户应该存储在身份验证服务器的数据库中。如果您需要一些用户信息,您可以调用 auth 服务(您也可以将控制器添加到服务中),或者您可以使用 JWT 令牌将必要的信息存储在令牌中以从资源服务器读取。

    【讨论】:

    • 好的,明白了。好吧,最好的方法是在授权服务器中创建 AuthService 并为该服务创建控制器。从资源服务器我应该使用 http 服务(例如 RestTemplate)与身份验证服务器通信。那是对的吗?但是我可以访问资源服务器中的 auth db(正如我所说 - 验证令牌)。现在我不确定它是否正确。当用户实体在 auth db 中时,我将可以使用 auth db 数据源访问它们。我认为这不是一个好主意。 ://
    • 是的。您可以从资源服务调用认证服务器。
    • 抱歉,我更新了我的评论。你能再看一遍吗?
    • 应该隔离数据库。如果您需要有关用户的信息,您可以询问身份验证服务(例如 RestTemplate 调用)或将信息包装到 JWT 令牌并从令牌中提取信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多