访问凭证
开放API的请求到达二开集成网关后,第一步是验证Access Token信息,验证通过后二开会将Token信息进行转换,并传递给业务方,业务方同样会校验Token信息,并获取其中的信息用于数据权限校验。
- Access Token信息需携带在请求头中,格式遵循OAuth2.0协议标准
Authorization: Bearer ${access_token}- 传递给业务方的token信息二开会放置请求头中,格式如下
X-Inner-Access-Token: ${inner_accesss_token}Token信息校验
- 校验token信息的合法性(签名是否正确)
- 校验token信息的时效性(是否过期)
- 校验token与client是否匹配
access_token格式
- access_token在本方案中用于用户授权、企业授权和应用授权的凭证信息,提供给调用方调用,二开平台认证。
- 采用JWT格式编码。
| 字段 | 说明 |
|---|---|
| Header | alg:固定为HS256 typ:固定为JWT |
| Payload | sub:open_id(用户在该应用的唯一标识) comp_id:企业id client_id:Client Identifier,应用ID,即:app_id tk_typ:token类型 exp:Expiration Time(过期时间),东八区时间戳,单位为秒 iat:JWT签发时间 scope:授权的scope,多个scope用英文逗号隔开 |
| Signature | 对Header和Payload进行签名,防止数据篡改 |
说明
- 开放平台Signature签名密钥为引擎服务SK
inner_access_token格式
- inner_access_token在本方案中仅用于用户授权和企业授权的凭证信息,由开放平台传递给各内部业务方进行鉴权校验使用。
- 二开平台将inner_access_token信息放置请求头X-Inner-Access-Token中转发给各内部业务方
- 采用JWT格式编码。
| 字段 | 说明 |
|---|---|
| Header | alg:固定为HS256 typ:固定为JWT |
| Payload | sub:open_id(用户在该应用的唯一标识) comp_id:企业id client_id:Client Identifier,应用ID,即:app_id tk_typ:token类型 exp:Expiration Time(过期时间),东八区时间戳,单位为秒 iat:JWT签发时间 |
| Signature | 对Header和Payload进行签名,防止数据篡改 |
说明
- Signature签名密钥为各内部业务方服务的SK
- 当为用户授权时,则会携带sub信息
- 当为企业授权时,则会携带comp_id信息
其他
- chat_id:会话(含单聊、群聊)的唯一标识。
- message_id:消息的唯一标识。