【问题标题】:Backend to Backend authentification with OAuth2使用 OAuth2 进行后端到后端身份验证
【发布时间】:2017-04-20 07:52:15
【问题描述】:

我要做什么

现在我正在为 Both 开发 Java Spring 后端,该后端管理他从 api.ai 的 NLP 获得的请求并返回相应的信息。现在我想与使用 OAuth2 的不同服务进行交互,以从那里获取信息/数据。

到目前为止我做了什么

我已在我的application.properties 文件中添加了我的服务凭据。但只找到了一个解决方案,例如用户可以在我的服务上使用他的 facebook 凭据登录。 但是我需要让我的服务在其他服务上进行身份验证(使用我的属性文件中的给定凭据),以便从那里收集数据。

你们知道解决方案、提示、技巧吗?

【问题讨论】:

    标签: java spring oauth-2.0 backend cloud-foundry


    【解决方案1】:

    据我了解,逻辑应该遵循。

    由于您拥有 SSO(基于 OAuth2),您只需登录一次并从 OAuth2 服务获取令牌(访问令牌和刷新令牌)。当您调用任何服务时,访问令牌包含在请求标头中。 现在 Service1 必须使用相同的身份验证信息调用 Service2。

    在Service1中调用OAuth2服务来检查token是否有效。如果是,您只需要使用相同的令牌来调用 Service2。

    所以只需从请求标头中提取令牌并添加到您发送到 Service2 的请求标头中。可以做例如通过添加过滤器并将身份验证信息存储在 ThreadLocal 变量中(或者如果您通过运行作业生成新线程,则可以继承 ThreadLocal)。

    Service2 反过来也通过调用 OAuth2 服务检查令牌,但令牌是有效的。

    对我来说,这就是你所需要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-09
      • 2021-01-19
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 2016-08-24
      • 1970-01-01
      • 2019-01-20
      相关资源
      最近更新 更多