小编Tri*_*n.G的帖子

Keycloak + Spring Security,通过本地登录表单

我正在尝试将keycloak集成到我的spring安全层中.我已经实现了这一点,我唯一要解决的问题是:

当端点被命中时,需要对用户进行身份验证,该站点将重定向到我的keycloak登录页面.登录后,用户将被重定向回他们最初请求的页面.我想要实现的是:我不希望我的用户从我的应用程序重定向到keycloak登录页面,然后再返回,但更好的是,通过我的应用程序上的表单登录并"代理"这些捕获的详细信息到keycloak并获取登录令牌.

如果有人能够阐明上述情况,是否有可能,如果有的话,解决方案的某些方向将会粉碎.

pom.xml中:

<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-spring-boot-adapter</artifactId>
    <version>2.4.0.Final</version>
</dependency>
<dependency>
    <groupId>org.keycloak</groupId>
    <artifactId>keycloak-tomcat8-adapter</artifactId>
    <version>2.4.0.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

application.properties:

keycloak.realm=MY_REALM
keycloak.realmKey=MY_REALM_KEY
keycloak.auth-server-url=MY_SERVER_URL
keycloak.resource=MY_RESOURCE
keycloak.ssl-required=external
keycloak.public-client=true
keycloak.use-resource-role-mappings=true

keycloak.securityConstraints[0].securityCollections[0].name=static-resources
keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/css/*
keycloak.securityConstraints[0].securityCollections[0].patterns[1]=/fonts/*
keycloak.securityConstraints[0].securityCollections[0].patterns[2]=/js/*

keycloak.securityConstraints[1].securityCollections[0].name=application
keycloak.securityConstraints[1].securityCollections[0].authRoles[0]=MY_ROLE
keycloak.securityConstraints[1].securityCollections[0].patterns[0]=/api/*
Run Code Online (Sandbox Code Playgroud)

java spring-security spring-boot keycloak

5
推荐指数
1
解决办法
955
查看次数

标签 统计

java ×1

keycloak ×1

spring-boot ×1

spring-security ×1