我正在向一个需要通过OAuth 2.0进行身份验证的旧应用程序中添加一个简单的web服务。由于该应用程序使用了较旧的技术(Java 6、Tomcat 6、Struts 1、无Spring框架),并且升级该应用程序目前不在项目的范围、预算或时间表之内,所以我正在使用Apache库-旧的,但它们似乎足以满足我的需求。
服务将在请求头中从使用者处传递一个承载令牌,我可以检索该令牌。我认为下一步应该是将带有web服务的客户端id的令牌和它的授权OAuth帐户的秘密传递给一个Oltu令牌验证例程(我还不知道),该例程将在我们公司的域中使用PingFederate URL进行验证(即"https://fedlogin.xxx.com/as/token.oauth2"),并返回它是否是有效的令牌。这是一个非常低流量的web服务,所以我不需要担心刷新令牌、将任何东西存储在密钥库/缓存/数据库中等等。
我正在寻找的东西看起来很简单,但也许我在理解这个过程时过于简单化了。我已经在网上找到了很多例子,但没有一个指南或示例来列出正确的方法、参数等,以便在这种情况下验证承载令牌。在我在网上找到的例子中,我尝试了许多不同的变化,但都没有成功。我是OAuth新手,所以我可能对可用类和方法的术语和命名约定有困难。
有人能建议(或指导我)使用Oltu快速简单地验证承载令牌的方法吗?我是否走在正确的轨道上,还是从web服务的角度看,我缺少/误解了OAuth 2验证的一些基本内容?
编辑:,我想我可能有一个答案,为什么我无法在Oltu库中找到解决方案--它不存在。见下面我的回应..。
发布于 2019-03-08 22:10:04
我相信我在上一篇关于我的问题的文章中找到了答案:
“RS和AS之间的这种交互不是OAuth 2.0标准的一部分.应该由AS实现来决定如何完成这项任务。”-- How resource server in OAuth authentication system, verify the token?。
这是我缺少的部分--资源服务器用于根据身份验证服务器验证客户端令牌的身份验证方法的实现留给了授权服务器。这意味着它可能不会包含在许多通用的OAuth 2.0库中,比如Oltu (这就是为什么我找不到一个)。在我的例子中,我需要找到PingFederate的旧版本,因为我们公司使用PingFederate服务器进行身份验证。
https://stackoverflow.com/questions/55070566
复制相似问题