【问题标题】:Keycloak Huge JWT Token of master admin主管理员的 Keycloak Huge JWT Token
【发布时间】:2022-09-27 10:12:35
【问题描述】:

我们每个客户都有一个领域,多租户架构。 (预计大约有 500 个领域)我们使用了一个服务帐户,主领域中的一个客户端将管理客户领域。问题是主领域管理员用户/服务帐户的巨大 JWT 令牌,他们管理随着领域数量的增加而增加的所有领域。这是由于每个新领域的 20 多个客户端角色。我们有哪些不同的选择来保持低代币大小? ps:减少角色也不是一种选择。服务帐户是 keycloak 管理门户的管理员,需要管理所有领域,因此它需要所有领域的 manage-realm 等角色

    标签: keycloak


    【解决方案1】:

    要减小令牌的大小,您可以使用以下策略:

    • 限制客户端访问的角色;
    • 使用客户端范围缩小将添加到令牌的声明。

    对于第一个选项,您可以转到有问题的客户端,选项卡Scope,禁用Full Scope Allowed,然后只选择客户端真正感兴趣的角色。

    对于第二个选项,您可以转到Client Scopes,创建一个scope,保存它,然后转到Scope 选项卡,添加将属于该范围的角色。然后,每次您向相关客户端发出令牌请求时,您都可以将范围作为该请求的参数发送。这样,您将只在令牌中包含属于该范围的角色。

    【讨论】:

    • 谢谢,但不幸的是,这不是一个选择。服务帐户需要管理所有其他领域,并且需要与 keycloak 管理门户中的领域客户端对应的所有客户端角色。
    猜你喜欢
    • 2020-04-14
    • 2019-05-17
    • 2020-02-22
    • 2021-10-30
    • 2020-10-28
    • 2021-08-14
    • 2021-07-16
    • 2018-10-26
    • 1970-01-01
    相关资源
    最近更新 更多