2.11. 测试应用


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

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

  • 因为应用程序使用 Bearer 令牌身份验证,您必须首先从 Keycloak 服务器获取访问令牌来访问应用程序资源:
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' \
 )

前面的示例获取用户 alice 的访问令牌。

curl -v -X GET \
  http://localhost:8080/api/users/me \
  -H "Authorization: Bearer "$access_token
  • 只有具有 admin 角色的用户才能访问 http://localhost:8080/api/admin 端点。如果您尝试使用之前发布的访问令牌访问此端点,您可以从服务器获得 403 响应。
curl -v -X GET \
   http://localhost:8080/api/admin \
   -H "Authorization: Bearer "$access_token
  • 要访问 admin 端点,获取 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' \
 )

有关编写依赖于 Keycloak 的 Dev 服务 的集成测试的详情,请参考 "OpenID Connect (OIDC) Bearer 令牌身份验证" 指南中的 Dev Services for Keycloak 部分。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.