鉴权认证机制
## 鉴权认证机制
### 注意事项
- 所有场景默认采用 UTF-8 编码。
- Access Token 必须缓存在磁盘并定时刷新,原 Access Token 默认2小时(7200秒,具体时效见接口返回expires_in字段)失效,token失效前可能获取到相同token。
#### 简介
本文档主要针对HTTP API调用者,开放平台使用OAuth2.0授权调用开放API,调用API时必须在Header头中带上键为Authorization的access_token参数,获取Access Token的流程如下:
### 获取Access Token:
#### 请求URL数据格式
向授权服务地址http://api.sinocloudlab.com/oauth/token发送请求(推荐使用POST),并在URL或body中带上以下参数:
- grant_type: 必须参数,固定为client_credentials;
- client_id: 必须参数,分配的API Key;
- client_secret: 必须参数,分配的Secret Key;
### 请求
#### 请求方法:`GET`
http://api.sinocloudlab.com/oauth/token?grant_type=client_credentials&client_id=分配的app_key&client_secret=分配的app_secret
#### 获取access_token示例:`bash`
#!/bin/bash
curl -i -k 'http://api.sinocloudlab.com/oauth/token?grant_type=client_credentials&client_id=【分配的app_key】&client_secret=【分配的app_secret】'
### 响应
#### 服务器返回的JSON文本参数如下:
- access_token: 要获取的Access Token;
- expires_in: Access Token的有效期(秒为单位,一般为2小时);
- 其他参数忽略,暂不使用;
#### 结果示例:
```
{
"access_token": "0ca1d6ca-529f-4e45-ac2c-e97910fc8b13",
"token_type": "bearer",
"expires_in": 7200,
"scope": "userProfile"
}
```
[签名算法](doc:ljYss6Dr)