2.11. 测试应用程序


有关以 dev 模式测试应用程序的更多信息,请参阅前面 在 dev mode 中运行该应用

您可以使用 curl 来测试以 JVM 或原生模式启动的应用程序。

获取 alice 的访问令牌:

export access_token=$(\
    curl --insecure -X POST http://localhost:8180/realms/quarkus/protocol/openid-connect/token \
    --user backend-service:secret \
    -H 'content-type: application/x-www-form-urlencoded' \
    -d 'username=alice&password=alice&grant_type=password' | jq --raw-output '.access_token' \
 )
Copy to Clipboard Toggle word wrap

现在,使用此令牌调用 /frontend/user-name-with-propagated-token/frontend/admin-name-with-propagated-token

curl -i -X GET \
  http://localhost:8080/frontend/user-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token
Copy to Clipboard Toggle word wrap

此命令返回 200 状态代码和名称 alice

curl -i -X GET \
  http://localhost:8080/frontend/admin-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token
Copy to Clipboard Toggle word wrap

相反,此命令会返回 403。请记住,alice 仅具有 用户角色

接下来,获取 admin 的访问令牌:

export access_token=$(\
    curl --insecure -X POST http://localhost:8180/realms/quarkus/protocol/openid-connect/token \
    --user backend-service:secret \
    -H 'content-type: application/x-www-form-urlencoded' \
    -d 'username=admin&password=admin&grant_type=password' | jq --raw-output '.access_token' \
 )
Copy to Clipboard Toggle word wrap

使用此令牌调用 /frontend/user-name-with-propagated-token

curl -i -X GET \
  http://localhost:8080/frontend/user-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token
Copy to Clipboard Toggle word wrap

此命令返回 200 状态代码和名称 admin

现在,使用此令牌调用 /frontend/admin-name-with-propagated-token

curl -i -X GET \
  http://localhost:8080/frontend/admin-name-with-propagated-token \
  -H "Authorization: Bearer "$access_token
Copy to Clipboard Toggle word wrap

此命令还会返回 200 状态代码和名称 admin,因为 admin 具有 useradmin 角色。

现在,检查 FrontendResource 方法,它不会传播现有的令牌,而是使用 OidcClient 获取和传播令牌。如前文所示,OidcClient 配置为获取 alice 用户的令牌,因此:

curl -i -X GET \
  http://localhost:8080/frontend/user-name-with-oidc-client-token
Copy to Clipboard Toggle word wrap

此命令返回 200 状态代码和名称 alice

curl -i -X GET \
  http://localhost:8080/frontend/admin-name-with-oidc-client-token
Copy to Clipboard Toggle word wrap

与前面的命令不同,此命令会返回 403 状态代码。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat