我有一个将Flowable Open Source作为模块的应用程序。为了在keycloak中使用我的角色和用户,Flowable IDM与keycloak集成在一起,并具有此配置。
....
flowable:
common:
app:
idm-admin:
user: <user>
password: <password>
security:
type: oauth2
o-auth2:
authorities-attribute: groups
groups-attribute: ${IAM_USERGROUP:userGroups}
idm:
app:
keycloak:
enabled: false
server: ${ISSUER_URL:http://localhost:8080/auth/realms/my-realm}
authentication-realm: master
authentication-user: ${IAM_AUTHUSER:admin}
realm: ${IAM_REALM:my-realm}
authentication-password: ${IAM_AUTHPASS:admin}
....
现在,我的问题是,当我登录到主应用程序时,我已经拥有了必要的角色,但当用户尝试进入可流动模块时,它会将用户重定向到登录页面,就好像用户尚未进行身份验证或授权一样。
这是我的微服务的安全配置,其中包含可流动的
http
.requestMatchers()
.antMatchers("/actuator/**")
.and()
.authorizeRequests()
.antMatchers("/actuator/**").permitAll()
.and()
.requestMatchers()
.antMatchers("/graphql/**")
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.oauth2Login(oauthLogin -> oauthLogin.permitAll()) //redirect to login if no token or session is provided
.oauth2ResourceServer().jwt(); //validate JWT Bearer token
http.logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/app/logout"))
.logoutSuccessHandler(keycloakLogoutHandler);
只定制了actuator和graphql端点的安全性。所以基本上我把所有的身份验证和授权配置都留给了可流动的类。我在这里做错了什么?
版本 Spring Boot 2.6.2
可流动Spring启动器6.7.2
1条答案
按热度按时间jv4diomz1#
我认为这个配置与我成功配置flowable / keycloak集成的方式有点不一样。
为
它不应与颁发者URL相同。