我正在使用与此类似的设置:https://www.baeldung.com/spring-boot-keycloak 但使用
<spring-boot.version>2.1.4.RELEASE</spring-boot.version>
<keycloak-adapter-bom.version>6.0.1</keycloak-adapter-bom.version>
是框架的当前版本。 我在Keycloak中激活了“授权”,并尝试将“全部捕获”默认资源绑定到角色。如果我使用eval,则返回下面的正确JSON。但是,在Java源代码中,我检查了传入的Principal,所有内容都在其中,但是没有JSON的授权/权限部分的表示形式。
如何在控制器方面/在Java端访问此信息?
"jti": "1c389a7f-2524-4340-b25d-2982c9e54c62",
"exp": 1557833614,
"nbf": 0,
"iat": 1557833314,
"aud": "noname",
"sub": "385d0955-1643-4c3a-a330-60152a592c89",
"typ": "Bearer",
"azp": "noname",
"auth_time": 0,
"session_state": "701b521c-483c-482d-b4ab-a404fafba9bf",
"acr": "1",
"realm_access": {
"roles": [
"offline_access",
"uma_authorization"
]
},
"resource_access": {
"traxpay": {
"roles": [
"nn_service"
]
},
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile"
]
}
},
"authorization": {
"permissions": [
{
"rsid": "3d2d6e70-8cd0-4c57-927f-006fdfe80fda",
"rsname": "Default Resource"
}
]
},
"scope": "profile email",
"email_verified": false,
"noname_id": "666123",
"preferred_username": "supplier"
}