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
状态代码。