Keycloak与Spring Boot集成

如何将Keycloak与Spring

Boot应用程序集成。我们是否必须在application.properties中授予所有资源及其角色权限?那么keycloak.json的用途是什么?然后,我需要在keycloak的管理控制台中对这些导出设置进行一些说明。我们是否必须在应用程序的配置中包含该文件?

回答:

1)首先将以下依赖项添加到您的build.gradle(我正在使用gradle,但是pom.xml如果您是Maven ,则这是相同的):

// keycloak

compile 'org.keycloak:keycloak-spring-boot-adapter:2.5.1.Final'

compile 'org.keycloak:keycloak-tomcat8-adapter:2.5.1.Final'

2)然后在application.properties文件中提供您的Keycloak配置(这时您应该已经配置了领域并通过Keycloak Web-

ui添加了客户端):

keycloak.realm=[YOUR-REALM]

keycloak.bearer-only=true

keycloak.auth-server-url=https://[YOUR-KEYCLOAK-INSTANCE-ADDRESS]:[PORT]/auth

keycloak.ssl-required=external

keycloak.resource=[CLIEND-ID]

keycloak.credentials.secret=[YOUR-CLIENT-SECRET-ID]

keycloak.cors=true

keycloak.securityConstraints[0].securityCollections[0].name=insecure stuff

keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/test-endpoint-1/*

keycloak.securityConstraints[1].securityCollections[0].name=admin stuff

keycloak.securityConstraints[1].securityCollections[0].authRoles[0]=[ROLE-2]

keycloak.securityConstraints[1].securityCollections[0].patterns[0]=/test-endpoint-2/*

在这里,我允许任何人访问处的所有内容/test-endpoint-1/*,而具有[ROLE-2]角色的管理员用户可以访问处的任何内容/test-

endpoint-2/*

啊,忘了提,客户Access Typebearer-only。是的,通过此设置,您不需要keycloak.json。希望这可以帮助 :)

回答:

新的API进行了一些更改,因此提供了最新版本:

kotlinVersion = '1.3.10'

springBootVersion = '2.1.1.RELEASE'

keycloakVersion = '4.6.0.Final'

dependencyManagement {

imports {

mavenBom "org.keycloak.bom:keycloak-adapter-bom:${keycloakVersion}"

}

}

dependencies {

// keycloak

compile 'org.keycloak:keycloak-spring-boot-starter'

}

application.properties 在这种情况下将如下所示:

keycloak.realm=[YOUR-REALM]

keycloak.bearer-only=true

keycloak.auth-server-url=https://[YOUR-KEYCLOAK-INSTANCE-ADDRESS]:[PORT]/auth

keycloak.ssl-required=external

keycloak.resource=[CLIEND-ID]

keycloak.credentials.secret=[YOUR-CLIENT-SECRET-ID]

keycloak.cors=true

keycloak.enabled=true

keycloak.securityConstraints[0].securityCollections[0].name=insecure stuff

keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/test-endpoint-1/*

keycloak.securityConstraints[1].securityCollections[0].name=admin stuff

keycloak.securityConstraints[1].authRoles[0]=[ROLE-2]

keycloak.securityConstraints[1].securityCollections[0].patterns[0]=/test-endpoint-2/*

以上是 Keycloak与Spring Boot集成 的全部内容, 来源链接: utcz.com/qa/430329.html

回到顶部