使用oauth2/openid为会话id和访问令牌配置spring安全性



是否可以使用oauth2配置spring以接受多种登录可能性?

目前我有它的工作:

@Override
protected void configure(HttpSecurity http) throws Exception { // @formatter:off
http.authorizeRequests(authorizeRequests -> authorizeRequests
.anyRequest()
.authenticated())
.oauth2Login(AbstractAuthenticationFilterConfigurer::permitAll)
.addFilterAfter(new CustomAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class)
.logout(logout -> logout.logoutSuccessHandler(oidcLogoutSuccessHandler()))
.oauth2ResourceServer().jwt();
}  // @formatter:on

如果一个人试图访问授权资源,他会被重定向到身份提供者的登录页面,登录,然后在客户端获取会话id。访问令牌和refreh令牌保存在服务器端的内存中。

但现在我也想使用访问令牌来访问资源。

但是当我这样做的时候,安全应用程序上下文就是空的。

我该怎么办?

我在文档中搜索过,但不知道如何实现这一点。

我希望只添加application.properties:spring.security.oauth2.resourceserver.jwt.jwk-set-uri

并添加:.oauth2ResourceServer((.jwt((添加到我的HttpSecurity,但这不起作用。

找到答案,如果在发送令牌时未在Authorization标头中将Bearer设置为前缀,则将无法识别它。有点正常,因为这是标准。。。

最新更新