/ 前言 /
在ZStack的API体系中, 除登录等个别几个API外, 其它的API调用时都需要一个headers - Authorization
, 这个参数来自于登录接口的返回参数, 我们来看下如何获取到该值
/ API /
-
API名称
使用账户身份登录
-
请求方式
PUT
zstack/v1/accounts/login
-
curl示例
curl -H "Content-Type: application/json" \ -X PUT -d '{"logInByAccount":{"accountName":"test","password":"password"}}' \ http://localhost:8080/zstack/v1/accounts/login
-
返回示例
uuid就是header中
Authorization
的值{ "inventory": { "uuid": "5d77893e242d39ec8b9856a7b8762eab", "accountUuid": "7ab57f322e4a396b8124ed4fda810966", "expiredDate": "Nov 14, 2017 10:20:57 PM", "noSessionEvaluation": false }}
/ 代码 /
user_name = 'admin'
user_password='password'
host = 'http://localhost:8080/'
# 登录
def login():
# 登录API需要对密码进行SHA-512算法加密
sha512 = hashlib.sha512()
sha512.update(user_password)
password = sha512.hexdigest()
content = {
"logInByAccount": {
"password": password,
"accountName": user_name}
}
data = json.dumps(content)
url = host + 'zstack/v1/accounts/login'
headers = {"Content-Type": "application/json"}
response = requests.put(url, data, headers=headers)
# 这里只是简单的返回处理
if response:
rsp = json.loads(response.text)
if rsp:
return rsp['inventory']['uuid']