首页 > 解决方案 > 使用 Spring Boot 应用程序和 Keycloak 授权访问资源属性

问题描述

我希望我在这里遗漏了一些简单的东西。我正在尝试访问我的授权服务器资源属性。当我运行调试时,它不会出现,因为这些属性是由 KeycloakSecurityContext.AuthorizationContext 发送的,据我所知。

server.port=8080
server.address=0.0.0.0

keycloak.realm=${keycloakRealm}
keycloak.authServerUrl=${keycloakAuthServerUrl}
keycloak.ssl-required=external
keycloak.resource=dex
keycloak.publicClient=false
keycloak.bearerOnly=false
keycloak.credentials.secret=${keycloakCredentialsSecret}
keycloak.enableBasicAuth=true
keycloak.policyEnforcerConfig.enforcementMode=ENFORCING
keycloak.policyEnforcerConfig.lazyLoadPaths=true
keycloak.policyEnforcerConfig.httpMethodAsScope=true
keycloak.policyEnforcerConfig.paths[0].path=/api/resource/*
keycloak.securityConstraints[0].authRoles[0]=offline_access
keycloak.securityConstraints[0].authRoles[1]=uma_authorization
keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/*

资源配置

我知道对于用户属性,还需要一个额外的映射器进程。我找不到任何似乎符合资源属性映射器的东西。

<keycloak.version>9.0.3</keycloak.version>
<spring-boot.version>2.5.3</spring-boot.version>

标签: spring-bootattributesauthorizationkeycloakauthz

解决方案


推荐阅读