【问题标题】:Securing Liberty microprofile metrics endpoint in a MpJwt environment在 MpJwt 环境中保护 Liberty 微配置文件指标端点
【发布时间】:2018-04-10 20:19:04
【问题描述】:

我正在遵循 OpenLiberty 微配置文件指南,并尝试构建一个示例应用程序,突出显示所有微配置文件功能,作为最终实施的概念证明。

我正在使用 Liberty v2018.0.0.1 并添加了 mpMetrics-1.1 功能。 Liberty 公开了一个指标端点 /metrics ,但这需要身份验证。我发现的所有示例都使用配置来提供用户凭据。

我的应用程序使用 mpJwt-1.0 功能来授权 JAX-RS 资源。当我将标签添加到 server.xml 时,用户不再被授权(状态代码 401)。如果我发送 JWT,我会收到 403。

我的问题: - 如果我希望使用 JWT 访问 /metrics 端点,应该在 JWT 中配置哪个角色? - 我可以在同一个 server.xml 中使用两种不同的身份验证方法 - 即基本身份验证,使用基本注册表的指标和 JWT 用于我的应用程序端点?

一个缩写的 server.xml:

<feature>mpMetrics-1.1</feature>
<feature>mpJwt-1.0</feature>

<mpJwt id="jwtConsumer"...

<quickStartSecurity userName="tech" userPassword="techpwd" />

<keyStore id="defaultKeyStore"...

【问题讨论】:

    标签: open-liberty microprofile


    【解决方案1】:

    这是一个已知问题,https://github.com/OpenLiberty/open-liberty/issues/2793。这是解决方法: 1. 创建一个用户注册表,其中包含用户名与 JWT 中的 upn 声明相同的用户,并且您可以使用任何虚拟密码。 2.在mpjwt配置元素中设置mapToUserRegistry为“true”。

    【讨论】:

    • 感谢您的反馈。这意味着我必须在发布 JWT 的 Liberty 和使用它的 Liberty 中都有一个基本注册表,这对于演示目的来说是不可取的。如果我这样做,我仍然会收到错误:The user is not granted access to any of the required roles: [Administrator]。我会关注第 2793 期。
    猜你喜欢
    • 2016-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    相关资源
    最近更新 更多