生成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 |