0

我正在向需要通过 OAuth 2.0 进行身份验证的旧应用程序添加一个简单的 Web 服务。由于该应用程序使用较旧的技术(Java 6、Tomcat 6、Struts 1、无 Spring 框架)并且升级该应用程序目前不在项目的范围、预算或计划中,我正在使用 Apache Oltu 库——较旧,但它们似乎足以满足我的需求。

该服务将在请求标头中从消费者那里传递一个不记名令牌,我可以检索它。我相信接下来会将令牌与 Web 服务的客户端 ID 和密码从它的授权 OAuth 帐户传递到(我还不知道的)Oltu 令牌验证例程,该例程将使用我们公司域中的 PingFederate URL 进行验证(即, “ https://fedlogin.xxx.com/as/token.oauth2 ”),然后返回它是否是一个有效的令牌。这是一个非常低流量的 Web 服务,所以我认为我不需要担心刷新令牌、在 keyvaults/caches/databases 中存储任何内容等。

我正在寻找的东西似乎很简单,但也许我在理解这个过程时过于简单化了。我在网上找到了很多示例,但没有一个指南或示例列出了在这种情况下验证不记名令牌的正确方法、参数等。我在网上找到的示例上尝试了许多不同的变体,但均未成功。我是 OAuth 的新手,所以我可能对可用类和方法的术语和命名约定有困难。

任何人都可以建议(或指导我)一种使用 Oltu 快速简单地验证承载令牌的方法吗?我是在正确的轨道上还是我错过/误解了从 Web 服务的角度来看 OAuth 2 验证的基本原理?

编辑:我想我可能对为什么在 Oltu 库中找不到解决方案有一个答案——它不存在。请看下面我的回复...

4

1 回答 1

0

我相信我在之前的帖子中找到了我的问题的答案:

“RS 和 AS 之间的这种交互不是 OAuth 2.0 标准的一部分……由 AS 实现来决定如何完成这项任务。” -- OAuth认证系统中的资源服务器如何验证token?

这是我缺少的部分——资源服务器用来验证客户端令牌与身份验证服务器的身份验证方法的实现留给授权服务器。这意味着它可能不会包含在许多通用 OAuth 2.0 库中,例如 Oltu(这就是我找不到的原因)。就我而言,我需要找到旧版本的 PingFederate Java 集成工具包,因为我们公司使用 PingFederate 服务器进行身份验证。

于 2019-03-08T22:10:04.237 回答