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