我正在建立一个Spring Web服务器,我想用Oauth2密码流保护我的API。一切似乎都适用于AuthorizationServer部分(没有问题验证和获取访问令牌)但在ResourceServer部分我不断收到以下错误:
org.springframework.security.authentication.ProviderNotFoundException: No AuthenticationProvider found for org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken
我是正确的假设,因为任何Oauth2配置本质上在授予访问令牌的授权服务器和将检查此令牌有效性的资源服务器之间分配,AuthorizationServer授予客户端的任何访问令牌都将是被视为资源服务器的某种预身份验证,从而使它能够寻找能够支持这种身份验证的提供程序?
如果是这样的话,提供一种方法最好的方法是什么?我很难找到任何具体的例子。
或者我的假设是错误的,问题来自我的设置在其他地方不正确?也许我错过了我应该提供这样一个提供者的部分。
提前致谢!
答案 0 :(得分:0)
我最终通过从新配置开始解决了我的问题。它现在运行良好,不再有PreAuthentication相关的错误。我不确定第一次我做错了什么,但我的配置现在比以前更简单了,所以我想我已经禁用了一些我不应该通过努力给Spring一些我认为缺少的东西。< / p>
无论如何,谢谢你试图帮助我@dur。