最近在做一个 OAuth2 平台,前面安排了一个高级工程师在做,结果做的非常不理想。出现各种问题不说,还逃跑了。
我刚接手这个乱摊子,启动项目,刚想访问一下,就报了一个错!
User must be authenticated with Spring Security before authorization can be completed.
本文说一说这个错误如何解决!
我在网上也查了不少资料,比如上面这篇文章。但是,评论区很多人留言说没法解决。这种理解其实是思路错了!
追踪异常信息得知,是 AuthorizationEndpoint 这个类抛出的异常。通过调试和 debug,你会发现,之所以抛出这个异常是因为你的 oauth/authorize 请求并没有被放行。
.authorizeRequests()
.anyRequest()
.authenticated()
将上面的代码改为下面的代码:
.authorizeRequests()
.antMatchers("/login", "/oauth/authorize").permitAll()
.anyRequest().authenticated();
参考资料
- https://stackoverflow.com/questions/57618681/user-must-be-authenticated-with-spring-security-before-authorization-can-be-comp
: » User must be authenticated with Spring Security before authorization can be completed.
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/252204.html