问题描述
我有一个用例,需要检索4.x openshift会话令牌。对于3.11端点,此shell命令可以正常工作:
export TOKEN=$(curl -u user1:test@123 -kI 'https://myose01:8443/oauth/authorize?clientid=openshift-challenging-client&response_type=token' | grep -oP "access_token=\K[^&]*")
但是,Openshift 4.4似乎具有不同的端点,并且在再现相同结果时遇到了麻烦。有人知道4.4等效吗?
不能使用openshift cli
解决方法
首先使用此命令获取端点:
oc get --raw '/.well-known/oauth-authorization-server'
您正在寻找:authorization_endpoint
然后将此标题添加到您的请求中:
-H "X-CSRF-Token: 100"
所以如果你运行: curl -u user1:test@123 'https://authorization_endpoint_URL/oauth/authorize?clientid=openshift-challenging-client&response_type=token' -kI -H "X-CSRF-Token: 100" | grep -oP "access_token=\K[^&]*"
你会得到你的令牌。