概述
openshift API的调用机制遵循OAuth 2.0机制,在调用API进行操作前需要先获取access token,然后拿着这个token再去调用相应的API。
open shift中提供了两种形式的token,一个是session token ,一个是service account token.前者有效期24小时,后者长期有效,但是后者是属于某一 namespace,而且能调用的API可能比较局限,本文两种方法都会介绍。
获取token的几种方法
Authorization Code Grant
此方法需要先向/oauth/authorize发送一个请求获取一个Authorization Code,
然后再拿着这个Authorization Code往/oauth/token发送请求获取access token。
这个方法比较麻烦,不建议使用。
Resource Owner Password Credentials Grant
Client Credentials Grant
此方法需要客户端有特别的认证。
Extension Grants
Implicit Grant
这个方法是常用的,如果你想调用openshift API,建议采用此方法
使用Session Token调用API
使用的是Implicit Grant方法
使用curl命令获取session token
curl -u username:password -kv -H "X-CSRF-Token: 1" 'https://example.test.com:8443/oauth/authorize?client_id=openshift-challenging-client&response_type=token'
username是用户名,password是密码
成功返回的信息如下:
..............
HTTP/2 302
..................
location: https:

本文介绍了如何在OpenShift中生成和使用API Token,包括Session Token和Serviceaccount Token的获取方法。重点讲述了Implicit Grant方法获取Session Token,以及如何在程序中处理过期问题。同时,详细阐述了如何通过Serviceaccount Token调用API,包括赋予权限、获取及使用步骤。
最低0.47元/天 解锁文章
699

被折叠的 条评论
为什么被折叠?



