AnyShare Family 7 开放架构总览

AnyShare Family 7 采用开放架构,支持OpenAPI规范,包括OAuth 2.0认证和RESTful API,提供统一的账号体系。此外,其插件系统涉及服务端插件、认证同步、消息和Web插件,用于扩展功能和集成。内容处理框架涵盖杀毒和加解密,确保数据安全。该架构设计提高了系统的可扩展性、灵活性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

背景和价值

开发架构介绍

开放架构图

​OpenAPI

应用账号体系

OAuth 2.0认证

RESTful API

AsyncAPI 2.0

插件系统

服务端插件原理和应用

认证同步插件

 消息插件

 Web插件原理和应用

Web客户端插件

 Web组件

内容处理框架

杀毒原理和应用

加解密原理和应用



背景和价值

为何要做开放性架构,因为AnyShare Family 7 定位于非结构化数据中台,势必需要强大的平台能力,通过这个平台为上层业务系统,提供强大的内容处理、内容统一存储等能力。

开发架构介绍

开放架构图

OpenAPI

OpenAPI 规范(OAS),是定义一个标准的、与具体编程语言无关的RESTful API的规范。OpenAPI 规范使得人类和计算机都能在“不接触任何程序源代码和文档、不监控网络通信”的情况下理解一个服务的作用。如果您在定义您的 API 时做的很好,那么使用 API 的人就能非常轻松地理解您提供的 API 并与之交互了。

如果您遵循 OpenAPI 规范来定义您的 API,那么您就可以用文档生成工具来展示您的 API,用代码生成工具来自动生成各种编程语言的服务器端和客户端的代码,用自动测试工具进行测试等等。

OpenAPI 3.0.0 是 OpenAPI 规范的第一个正式版本,因为它是由 SmartBear Software 捐赠给 OpenAPI Initiative,并在2015年从 Swagger 规范重命名为 OpenAPI 规范。

应用账号体系

OAuth 2.0认证

提到OAuth ,就需要了解互联网的鉴权体系。为了防止张三访问李四的资源,我们需要认证(authentication),即鉴定谁在访问;为了防止资源被没有权限的人访问,我们需要授权(authorization),即确定访问者能否访问当前资源。需要注意的是,为了保护访问者信息,授权协议可以在传递信息时隐藏访问者。

OAuth是鉴权协议的一种,有OAuth 1.0和OAuth 2.0两个版本,1.0版本因设计过于复杂很少使用,我们提到OAuth一般指OAuth 2.0。

OAuth 2.0得到广泛应用主要得益于三个特点:

  • 简单:不管是Oauth服务提供者还是应用开发者,都很易于理解与使用;

  • 安全:没有涉及到用户密钥等信息,更安全更灵活;

  • 开放:任何服务提供商都可以实现Oauth,任何软件开发商都可以使用Oauth;

OAuth 2.0的核心:访问令牌

在现实生活中,我们通常会通过委托书委托他人帮助我们做一些事。在计算机世界中,访问受OAuth2.0 授权协议保护的 API,也是类似的场景:用户通过访问令牌授权客户端软件访问自己的资源(API)。访问令牌即类似现实生活中的委托书,包含 3 要素:谁(资源拥有者)委托(授权)谁(客户端)做什么事情(scope)。常用的访问令牌获取流程如下:

 

  • 客户端首先将资源拥有者引导至授权服务器,请求资源拥有者为其授权。

  • 授权服务器先对资源拥有者进行身份认证,此时资源拥有者的凭据不会暴露给客户端。

  • 然后资源拥有者选择是否对客户端授权,客户端可以请求授权范围(scope)的子集,该子集可能会被资源拥有者进一步缩小。

  • 授权请求被许可后,客户端向授权服务器请求访问令牌(具有受限访问权限的凭据)。

  • 最后,客户端使用访问令牌代表资源拥有者以有限的权限对受保护资源上的 API 进行访问。

RESTful API

表征状态传输 (REST) 是一种软件架构,决定了 API 的工作条件。REST 最初作为管理复杂网络(例如互联网)上的通信的指南而建立。您可以使用基于 REST 的架构为高性能和可靠的大规模通信提供支持。您可以轻松应用和修改此种架构,为任何 API 系统带来可见性和跨平台可能性。

API 开发人员可以使用多种不同的架构设计 API。遵循 REST 架构风格的 API 称为 REST API。实施 REST 架构的 Web 服务称为 RESTful Web 服务。术语 RESTful API 通常指 RESTful Web API。但是,术语 REST API 和 RESTful API 可以互换使用。

以下是 REST 架构风格的一些原则:

统一接口

统一接口是一切 RESTful Web 服务设计的基础。其表示服务器以标准格式传输信息。格式化的资源在 REST 中称为表征。此格式可以与服务器应用程序上资源的内部表征不同。例如,服务器可以将数据存储为文本,但以 HTML 表征格式发送该数据。

统一接口强制实施四个架构约束:

  1. 请求应确定资源。它们通过使用统一的资源标识符实现此功能。

  2. 客户端包含资源表征中的足够信息以修改或删除资源(如需要)。服务器通过发送进一步描述资源的元数据以符合这一条件。

  3. 客户端接收有关如何进一步处理表征的信息。服务器通过发送自描述信息实现此功能,该信息包含了有关客户端如何以最佳方式使用这些信息的元数据。

  4. 客户端接收有关其完成任务需要的所有其他相关资源的信息。服务器通过在表征中发送超链接实现此功能,以便客户端可以动态发现更多资源。

无状态

在 REST 架构中,无状态指一种服务器独立于所有之前的请求完成每个客户端请求的通信方法。客户端可以以任意顺序请求资源,每个请求为无状态或与独立于其他请求。此 REST API 设计约束意味着服务器每次可以完全识别和满足请求。

层次化系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值