1

我正在关注微配置文件的 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"...
4

1 回答 1

1

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

于 2018-04-10T21:24:40.143 回答