Spring boot KeyClope与Spring Boot的集成
如何将KeyClope与spring引导应用程序集成。我们是否必须在application.properties中授予所有资源及其角色权限?那么keydape.json的用途是什么?然后,我需要一些关于这些导出设置在keydepeat的管理控制台的澄清。我们必须在应用程序的配置中包含该文件吗?1)首先将这些依赖项添加到您的Spring boot KeyClope与Spring Boot的集成,spring-boot,keycloak,Spring Boot,Keycloak,如何将KeyClope与spring引导应用程序集成。我们是否必须在application.properties中授予所有资源及其角色权限?那么keydape.json的用途是什么?然后,我需要一些关于这些导出设置在keydepeat的管理控制台的澄清。我们必须在应用程序的配置中包含该文件吗?1)首先将这些依赖项添加到您的build.gradle(我使用的是gradle,但如果您是一个专业人士,它对于pom.xml也是一样的): 2) 然后在application.properties文件中提供
build.gradle
(我使用的是gradle,但如果您是一个专业人士,它对于pom.xml
也是一样的):
2) 然后在application.properties
文件中提供您的keydeport配置(此时您应该已经配置了您的领域并通过keydepowebui添加了一个客户端):
在这里,我允许任何人访问/test-endpoint-1/*
上的所有内容,而具有[ROLE-2]角色的管理员用户可以访问/test-endpoint-2/*
下的任何内容
啊,忘了提一下,客户端访问类型
是仅承载
。是的,使用此设置,您不需要keydape.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/*
如果添加了spring引导适配器并且在application.properties.Export中进行了所有配置,则不希望添加keydove.json。keydove控制台中的Export用于导出所有这些角色、资源、,在控制台中创建的策略和所有其他配置。这只是导出特定领域的设置。是的,它有帮助。不需要keydape.json。如何为基于声明的策略推送cliam?您是指角色吗?你能详细说明一下你想要实现什么吗?var context=$evaluation.getContext();var identity=context.getIdentity();var attributes=identity.getAttributes();如果(identity.location=='mumbai'){$evaluation.grant();}如何检查基于用户属性的策略?您可以使用keydrope的RESTAPI。另一种选择是使用KeyClope中的Spring安全提供程序并获取主体对象。
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'
}
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/*