生成Token
功能介绍
应用服务器可调用此接口生成Token。
Token作为接口认证和鉴权凭据,应用服务器调用平台业务接口时,必须携带Token,通常填写在头域 X-Auth-Token 中,常与头域 X-Instance-Id 配合使用。
Token生成后在有效期内有效。如用户角色发生变更,则此前为该用户生成的Token将会因被吊销而不可用。Token被吊销后,需调用本接口以签发出新的Token,应用服务器需使用新Token调用平台业务接口。
URI
POST /v1/iotfm/auth/tokens
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
X-Instance-Id |
是 |
String |
参数说明:实例ID。通过访问智能设施云平台界面后获取,智能设施云平台资源均为实例级隔离,所有业务接口必须填写正确的实例ID才能被成功调用。 取值范围:长度8-36,只允许大小写字母、数字和-字符的组合。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
auth |
否 |
InstanceAuth object |
参数说明:认证信息。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
methods |
否 |
Array of strings |
参数说明:获取token的方式。当前仅支持密码方式。 取值范围:选用如下三种方式之一: |
|
password |
否 |
InstancePassword object |
参数说明:密码信息,获取token方式为password时,此参数必选。 |
响应参数
状态码:201
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
X-Subject-Token |
String |
参数说明:签名后的token。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
token |
InstanceToken object |
参数说明:Token结构体。 取值范围:长度1-64。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
issued_at |
String |
参数说明:token颁发时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 取值范围:长度1-64。 |
|
expires_at |
String |
参数说明:token过期时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 取值范围:长度1-64。 |
|
methods |
Array of strings |
参数说明:获取token的方式。 取值范围:长度固定为1。 |
|
roles |
Array of Role objects |
参数说明:角色列表。 取值范围:长度1-32。 |
|
user |
InstanceUserRsp object |
用户 |
请求示例
POST https://{endpoint}/v1/iotfm/auth/tokens
{
"auth" : {
"identity" : {
"password" : {
"user" : {
"name" : "example_user",
"password" : "xxxxxx"
}
},
"methods" : [ "password" ]
}
}
}
响应示例
状态码:201
Created
{
"token" : {
"issued_at" : "2021-03-04T07:33:22.504Z",
"expires_at" : "2021-03-05T07:33:22.504Z",
"methods" : [ "password" ],
"roles" : [ {
"id" : "0",
"name" : "te_admin"
} ],
"user" : {
"id" : "43f76c518877464da16dc25a18cae71a",
"name" : "example_user",
"password_expires_at" : ""
}
}
}
状态码
|
状态码 |
描述 |
|---|---|
|
201 |
Created |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
404 |
Not Found |
|
500 |
Internal Server Error |