2.11. 测试应用程序
有关以 dev 模式测试应用程序的更多信息,请参阅前面 在 dev mode 中运行该应用。
您可以使用 curl 来测试以 JVM 或原生模式启动的应用程序。
获取 alice 的访问令牌:
现在,使用此令牌调用 /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
curl -i -X GET \
http://localhost:8080/frontend/user-name-with-propagated-token \
-H "Authorization: Bearer "$access_token
此命令返回 200 状态代码和名称 alice。
curl -i -X GET \ http://localhost:8080/frontend/admin-name-with-propagated-token \ -H "Authorization: Bearer "$access_token
curl -i -X GET \
http://localhost:8080/frontend/admin-name-with-propagated-token \
-H "Authorization: Bearer "$access_token
相反,此命令会返回 403。请记住,alice 仅具有 用户角色。
接下来,获取 admin 的访问令牌:
使用此令牌调用 /frontend/user-name-with-propagated-token :
curl -i -X GET \ http://localhost:8080/frontend/user-name-with-propagated-token \ -H "Authorization: Bearer "$access_token
curl -i -X GET \
http://localhost:8080/frontend/user-name-with-propagated-token \
-H "Authorization: Bearer "$access_token
此命令返回 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
curl -i -X GET \
http://localhost:8080/frontend/admin-name-with-propagated-token \
-H "Authorization: Bearer "$access_token
此命令还会返回 200 状态代码和名称 admin,因为 具有 admin user 和 admin 角色。
现在,检查 FrontendResource 方法,它不会传播现有的令牌,而是使用 OidcClient 获取和传播令牌。如前文所示,OidcClient 配置为获取 alice 用户的令牌,因此:
curl -i -X GET \ http://localhost:8080/frontend/user-name-with-oidc-client-token
curl -i -X GET \
http://localhost:8080/frontend/user-name-with-oidc-client-token
此命令返回 200 状态代码和名称 alice。
curl -i -X GET \ http://localhost:8080/frontend/admin-name-with-oidc-client-token
curl -i -X GET \
http://localhost:8080/frontend/admin-name-with-oidc-client-token
与前面的命令不同,此命令会返回 403 状态代码。