spring-security 与Flowable的密钥隐藏集成

ee7vknir  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(179)

我有一个将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

jv4diomz

jv4diomz1#

我认为这个配置与我成功配置flowable / keycloak集成的方式有点不一样。

server: ${ISSUER_URL:http://localhost:8080/auth/realms/my-realm}

server: http://localhost:8080

它不应与颁发者URL相同。

相关问题