我正在使用Spring boot开发基于OIDC的Web应用程序。
我正在尝试根据oAuth服务器返回的声明值来授权网址。这是我的情况。
我有一个管理员网址 - / admin,并且在okta中设置了自定义声明以及默认声明。我正在接受身份验证,然后从userInfo网址获取声明值,它包含组列表(如prov1,prov2,ProvAdmin)。
从上述声明 - 群组中,如果上面的列表包含ProvAdmin群组,我必须授权用户使用我的/ admin usl。所以基本上如果用户包含组 - ProvAdmin,那么只有用户才会被授权给/ admin url
以下是我的springSecurity配置
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().mvcMatchers("/admin")
.anyRequest().authenticated()
.and()
.oauth2Login()
.loginPage("/customOAuth2Login_Okta").permitAll()
.and()
.logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/performLogOut")).permitAll()
}