如何在密钥斗篷JWT中获得授权(权限)?

时间:2019-09-20 15:04:55

标签: java keycloak mapper

目标:我正在尝试使用Keycloak的自定义映射器将授权详细信息添加到JWT,以便用户在使用登录页面登录时,其令牌还将包含所有权限适用。 例如,下面是以下代码(从JWT解码):

"authorization": {
    "permissions": [
      {
        "scopes": [
          "edit",
          "buy"
        ],
        "rsid": "af23b104-1d7e-41ab-7600-6d5bb405ad8e",
        "rsname": "Custom Resource"
      }
    ]}

更具体地说,我试图获得类似的结果,就像使用grant_type = urn:ietf:params:oauth:grant-type:uma-ticket一样,但直接从默认的Keycloak登录页面获得。

我尝试过的事情:我尝试根据以下示例制作自定义映射器:https://github.com/mschwartau/keycloak-custom-protocol-mapper-example

我查看了Keycloak的基本代码,但是似乎没有任何方法可以使用默认行为将授权数据包括在令牌中。根据我的发现,数据可能在KeycloakPrincipal中,但是我不确定这是否成立,因为似乎没有办法获取该数据。不过,由于我对Keycloak的经验不足,所以我可能会误会。

作为旁注,可以在rest调用中使用grant_type = urn:ietf:params:oauth:grant-type:uma-ticket,但不幸的是,这不是可接受的解决方案。

0 个答案:

没有答案