授权/权限未编组到主体中

时间:2019-05-14 11:38:24

标签: spring-security keycloak

我正在使用与此类似的设置: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"
}

0 个答案:

没有答案