【发布时间】:2020-01-06 09:39:20
【问题描述】:
我目前正在设置一个新的 KeyCloak 实例,并且我正在尝试实现以下目标: 用户将被放置在 - 团体 - 这些组将获得客户特定的角色
例如,我有“发布者”角色和几组发布者:Publisher1、Publisher2、...
因此,当用户登录时,我可以确定他是否是发布者,然后让他访问网站上的一组特定功能。 然后小组将缩小他将收到的所有信息的范围。
就像该角色将授予他对 REST API 的访问权限,并且该组将过滤他将收到的结果。
在 SQL 中:SELECT * FROM xyz where publisher_id = ?
在令牌中我想查看这些信息。使用评估功能时,我目前收到以下信息:
{
"jti": "3e96fc9d-b1dc-428a-8f8e-0661f9cf265b",
"exp": 1578303161,
"nbf": 0,
"iat": 1578302861,
"iss": "https://prodo-sso-ti.ariva-services.de/auth/realms/PRODO",
"aud": "account",
"sub": "55bed571-dd3b-4282-8688-5da543517a49",
"typ": "Bearer",
"azp": "dashboard",
"auth_time": 0,
"session_state": "12ab2b8c-dc9a-42ca-b106-1a213dd38fc0",
"acr": "1",
"allowed-origins": [
"https://secretlink"
],
"realm_access": {
"roles": [
"offline_access",
"uma_authorization"
]
},
"resource_access": {
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile"
]
},
"dashboard": {
"roles": [
"Publisher"
]
}
},
"scope": "openid profile email",
"group_membership": [
"/Publisher1"
],
"email_verified": true,
"name": "My Name",
"preferred_username": "mb",
"locale": "de",
"given_name": "My",
"family_name": "Name",
"email": "my@name.de"
}
我激活了组成员映射器以获取用户所在的组。 问题是,当我需要一些更有用的东西(比如 ID)时,我只获得了 Group 的名称。 所以我尝试将属性添加到具有数值“1”的组“publisher_id”。
如何在组成员信息或其他地方也获得此 publisher_id。 或者也许我走错了路,这可能会以某种不同的方式实现?
感谢任何提示:)
【问题讨论】:
-
你能解决这个问题吗?我正在尝试在令牌中获取组 ID
标签: keycloak