OA系统连接苍穹使用API认证方式
1 简介
API认证:第三方系统连接苍穹时,需要调用金蝶云苍穹开放平台的API服务接口。金蝶云苍穹会对每个API请求进行身份认证的校验,判断其请求的合法性,最后响应该API请求。2 适用范围
本文档适用于所有第三方应用登录认证金蝶云苍穹并调用API服务
3 认证方式说明
金蝶云苍穹目前共支持三种认证方式,分别是accessToken 认证、JWT认证和摘要认证,不同的认证方式各有特点,用户可以根据具体的安全需求,选择合适的方式。
备注:当前苍穹界面字段名称现已更新,若版本号为COSMICV4.0.003.0及以下,与开放平台最新版本第三方应用界面的字段对应关系如下:
字段名称(旧) | 字段名称(新) | 字段说明 |
系统密码 | AccessToken加密认证密钥 | 即第三方app的密码 |
对称加密秘钥 | 摘要加密认证密钥 | 摘要加密认证key |
JWT非对称秘钥 | JWT加密认证密钥 | Jwt生成签名的密钥secret |
4 认证方式比较
Access Token认证、JWT认证和摘要加密认证都可以用于API使用的认证。但是3者应用的场景可能不一样。对于仅仅第三方应用调用苍穹API的情况,3种认证方式都可以满足,但是如果要从第三方系统免密跳转到苍穹的话,目前只有Access Token认证支持。对于Access Token认证来说,需要在第三方应用客户端管理appToken和Access Token的生命周期。而JWT方式和摘要加密认证方式则不需要。同时JWT还需要获取JWT字符串,而加密摘要则不要提前和苍穹交互。对于Access Token和JWT方式需要用appId和appSecret获取,appSecret需要配置后在网络上传输,而摘要加密认证就不需要,所以从安全性考虑的话,摘要加密认证相比要高些。对于适用API的调用,推荐使用摘要加密认证。
3种认证方式的比较表
适用性 | 安全性 | 第三方系统Token生命周期管理 | |
AccessToken认证 | 适用API,免密跳转 | 一般 | 需要 |
JWT认证 | 适用API | 较高 | 不需要 |
摘要加密认证 | 适用API | 高 | 不需要 |
5 场景举例
需求:某家公司购买了苍穹系统,同时自家还有一个OA系统。客户为了使用方便,想要把OA和苍穹集成在一起,OA系统可以通过调用苍穹的API获取一些数据。那么问题来了,现场开发人员如何在AccessToken认证方式、JWT认证方式和摘要加密认证方式3种认证方式中选择呢?方案1:
2个系统只有纯粹的API调用,没有其他的调用的情况,使用JAVA开发。这种情况下AccessToken认证方式、JWT认证方式和摘要加密认证方式3种认证方式都可以。建议优先使用摘要加密认证方式进行API访问,这种方式安全,密钥不需要在2个系统间传输,不需要https传输协议也有传输安全保障。并且苍穹有JAVA摘要加密认证源代码可以参考。
摘要认证请参考:摘要认证
方案2:
2个系统只有纯粹的API调用,没有其他的调用的情况,但是使用的是python或其他非java语言。这种情况下AccessToken认证方式、JWT认证方式和摘要加密认证方式3种认证方式都可以。这时候简单一点话可以用JWT认证方式进行API访问。JWT认证的默认生命周期是2小时。2个小时到期后JWT会失效。
JWT认证请参考:JWT认证
方案3:
2个系统只有纯粹的API调用,没有其他的调用,但是要从OA系统免密跳转到苍穹打开苍穹页面的话,目前只有AccessToken认证支持。这时候要注意AppToken和AccessToken的生命周期。AccessToken的生命周期默认为2小时,但是每次访问都会延长到2小时。AppToken的生命周期默认为也为2小时,但是只要有该AppToken产生的AccessToken有一个还在有效期内,该AppToken就是有效的。
AccessToken认证请参考:AccessToken认证
OA系统连接苍穹使用API认证方式
本文2024-09-23 00:35:20发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-140434.html