0

是否可以使用 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。访问令牌和刷新令牌保存在服务器端的内存中。

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

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

我需要做什么?

我在文档中进行了搜索,但不明白如何实现这一点。

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

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

4

1 回答 1

0

找到了答案,如果在发送token的时候在Authorization header中没有设置Bearer作为前缀,那么就不会被识别。有点正常,因为它是标准...

于 2020-04-28T12:44:50.717 回答