Dal*_*vie 5 spring-security-oauth2
我按照此处的文档构建了一个 spring security oauth2 资源服务器多租户解决方案:
和这里:
这工作得很好,但需要注意的是两个发行者都使用相同的不记名令牌解析器。在我的例子中,一个颁发者在授权标头上指定令牌,另一个颁发者在自定义标头中发送令牌。
如何配置 spring security 为每个发行者指定不同的 BearerTokenResolver?
我当前的代码如下,仅当两个颁发者在 X-JWT-ASSERTION 标头中提供令牌时才有效。
@Bean
BearerTokenResolver getTokenResolver()
{
return new HeaderBearerTokenResolver("X-JWT-ASSERTION");
}
Run Code Online (Sandbox Code Playgroud)
@Configuration
public class JWTSecurityConfig extends WebSecurityConfigurerAdapter {
@Value("${oauth2.issuer-uris}")
private String[] issuerUris;
@Override
protected void configure(HttpSecurity http) throws Exception {
var authenticationManagerResolver = new JwtIssuerAuthenticationManagerResolver(issuerUris);
http
.authorizeRequests(authz -> authz
.antMatchers("/api/**").authenticated()
.anyRequest().permitAll())
.oauth2ResourceServer(oauth2 -> oauth2.authenticationManagerResolver(authenticationManagerResolver));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |