苍穹OpenAPI入门篇 之 API接口匿名访问

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

苍穹OpenAPI入门篇 之 API接口匿名访问


细心的小伙伴可能会发现,外部系统访问金蝶云·苍穹API服务时,有部分接口允许用户在未登录的情况下进行访问。


那么,如何实现接口的匿名访问呢?在什么场景下适合启用API匿名访问?


带着问题,跟随小编往下看,一起解锁答案~




1 应用场景


外部系统访问金蝶云·苍穹API服务时,正常流程一般为:先在开放平台注册第三方应用,生成对应的appid和appsecret,然后通过接口获取应用令牌(app_token)和访问令牌(access_token),后续在每次请求中,带上访问令牌即可进行接口调用。


不涉及一些隐私和保密数据的特殊场景下,企业有部分API接口,允许用户在未登录的情况下进行访问,如某个接口,匿名用户可以直接调用,进而查询某些基础资料或单据信息。此时,可以在开放平台开启API匿名功能,在接口层面进行设置。


2 解决方案


对于特殊场景下的接口匿名访问需求,可通过在苍穹管理中心和开放平台启用API匿名访问来满足。当启用该功能后,该API接口无需登录即可访问。


3 价值体现


API匿名访问主要用于满足企业的个性化需求,在经过风险评估后,确认不会引起安全风险后,可开启匿名访问,简化API的调用流程,提升开发接口调试效率。


4 功能实现


API匿名访问的功能实现流程如下:


01 开启MC开关


开启API匿名访问的路径为:【苍穹管理中心】 →【基础数据维护】 →【环境公共配置项】→目录: /root/config/common/prop/api.properties,开关的名称为“login_api_support_anonymous”,该开关为公共配置,默认为false,此时MC租户的API接口,不允许匿名访问。将该开关值设置为true,则允许匿名访问


开启MC开关操作示意


02 设置API服务,允许匿名访问


当MC开关开启后,进入金蝶云·苍穹开放平台的API服务定义界面,路径为:【开发服务云】 → 【开放平台】→【API服务管理】,找到需要开启匿名访问的API服务,点击API名称进入API服务信息的编辑界面。


API服务管理界面


在API基本信息中,打开“匿名访问”开关,点击“保存”按钮,此时API服务则允许匿名用户访问。


开启“匿名访问”开关


03 API服务调用


当API服务接口允许匿名访问后,在请求头或URL参数中不带上访问令牌(access_token),也能成功调用API服务,调用结果如下图所示:


API服务调用结果(成功)示例


反之,当API服务接口不允许匿名访问,此时再以相同方式发送请求,则API调用结果显示访问失败,如下图所示:


API服务调用结果(失败)示例


5 常见问题


问:为什么设置了API接口匿名访问之后,匿名调用仍不生效?

答:出现该问题的原因可能是该租户存在多个数据中心,且默认数据中心和当前设置匿名API的数据中心不一致。此时,必须在请求header中添加参数accountid,指定数据中心的API服务,匿名访问才能生效。


问:为什么使用匿名访问后,操作单据时无法更新数据?

答:API匿名使用的是guest身份,在操作单据时平台会有权限限制,一般仅用于查询操作,无法更新数据。


6 更多资讯


关于金蝶云·苍穹开放平台API调用的更多知识,可点击下方链接查看:


金蝶云·苍穹开放平台API调用流程


划重点


1. 在不涉及一些隐私和保密数据的特殊场景下,金蝶云·苍穹允许匿名访问部分API接口,只需在苍穹管理中心开放平台启用API匿名访问即可实现。


2. 当租户有多个数据中心时,如果默认数据中心和当前设置匿名API的数据中心不一致,必须在请求header中添加参数accountid才能访问指定数据中心的API服务。


3. API匿名使用的是guest身份,在操作单据时平台会有权限限制,一般仅用于查询操作,无法更新数据





#往期推荐#


# 苍穹OpenAPI入门篇之注册第三方应用

苍穹OpenAPI入门篇之JWT认证

# 苍穹OpenAPI入门篇之摘要认证

苍穹OpenAPI入门篇之AccessToken认证

一篇揭秘"苍穹OpenAPI接口测试"的好文!


更多精彩内容,“码”上了解!↓



苍穹OpenAPI入门篇 之 API接口匿名访问

细心的小伙伴可能会发现,外部系统访问金蝶云·苍穹API服务时,有部分接口允许用户在未登录的情况下进行访问。那么,如何实现接口的匿名访...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息