认证鉴权
基于AppCube开发的智能排班模型BO提供的接口都需要通过认证之后才可以访问。认证方式为:在请求消息头上设置“access-token”。
Token在计算机系统中代表令牌(临时)的意思,拥有Token代表拥有某种权限。Token认证是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。
通过AppCube的获取Token接口,获取access-token,用于调用API接口时进行鉴权,使用时在请求消息头上设置“access-token”。
- 创建OAuth认证。
- 获取客户端鉴权ID(client_id)和客户端秘钥(client_secret)。
- 根据鉴权客户端ID和鉴权密钥通过Post请求调用接口“https://AppCube域名/baas/auth/v1.0/oauth2/token”获取access_token。
AppCube域名替换为实际域名;********替换为获取到客户端鉴权ID(client id)和客户端秘钥(client_secret)。
POST https://AppCube域名/baas/auth/v1.0/oauth2/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=********&client_secret=********
返回的响应消息体可以获取到“access_token”。
{ "access_token": "***************************", "expires_in": 1800, "token_type": "Bearer" }
图5 获取access_token示例-Headers
图6 获取access_token示例-Body
图7 获取access_token示例-返回的响应消息体
- 将Headers中的access-token参数设置为上一步得到的access_token,成功调用自定义的API接口。
AppCube域名替换为实际域名;********替换为获取到的access_token的值;Content-Type(消息体的类型(格式)),请根据实际API实际情况配置,示例中为application/json。
POST https://AppCube域名/baas/auth/v1.0/oauth2/token Content-Type: application/json access-token: ******** { "pageStart":0, "pageSize":3, "deleteFlag":0 }
返回的响应消息体:
{ "resCode": "0", "resMsg": "成功", "result": { "records": [], "total": 0 } }
图8 调用API示例-Hearders
图9 调用API示例-Body
图10 调用API示例-返回的响应消息体