AnyShare插件原理和应用
认证同步插件
共享和协作是AnyShare Family 7的核心功能,权限管理又是它们的基础,而权限管理离不开人员和组织架构。同时人员和组织架构是企业管理的关键元素,整个企业的各个业务系统使用同一套人员和组织架构是非常必要的。为了完成人员、组织和认证的集成,AnyShare Family 7开放了认证同步插件。
认证和同步插件是包含了一个或多个 Python 代码文件的压缩包。这些 Python 代码文件按约定的方式进行命名和组织。不同名称的 Python 代码文件需要实现不同功能的类,这些功能包括:
- 将第三方用户系统中的组织架构导入到 AnyShare 用户系统中
- 实现导入到 AnyShare 的第三方用户在外部认证系统中的鉴权
认证插件支持账号密码认证、双因子认证、单点认证等,我们使用单点认证和账号密码认证来进一步熟悉AnyShare的认证。
单点登录指用户不通过 AnyShare 来进行账号密码的验证,而是在第三方用户系统中验证账号密码后,换取一次性令牌。再通过一次性令牌从 AnyShare 获取用户的详细信息。单点登录场景下,认证插件的主要作用是验证令牌在第三方用户系统中是否有效,从而决定是否可以返回令牌对应的用户信息。
单点登录的整体流程如下:
账号密码登录分为三类:
- AnyShare本地用户的认证,直接使用AnyShare内部机制实现登录,不需要开发插件
- 域用户的认证,大多数域认证可以通过AnyShare预装的域认证模块经过配置后完成,不需要开发插件
- 外部用户的认证,外部用户的账户密码由客户的第三方系统管理,用户输入的用户名和密码由插件传递给第三方系统后,由第三发系统完成认证过程并返回认证结果,认证结果由插件处理并返回AnyShare,AnyShare根据结果判定登录成功或失败
对于外部用户的账号密码认证,需要单独开发插件并配置,整体认证流程如下:
同步插件的作用主要是将外部用户系统的组织架构数据,根据同步模块的要求转换成 AnyShare可以识别的数据结构。同步模块会解析该数据结构中的用户和部门信息,并在 AnyShare 中创建对应的组织、部门和用户数据。同步插件在配置后可以定期执行,保持AnyShare中的组织架构和用户与外部用户系统一致。
同步插件的同步逻辑如下:
消息插件
AnyShare在使用过程中会产生一些消息,如共享通知、审核消息、知识中心推送等。如果能把这些消息推送到聊天软件、OA系统或代办系统中,可以进一步提升知识传播效率和办公效率。因此,AnyShare提供了消息插件机制,用于AnyShare内部消息推送给客户的业务系统中。
通过消息插件发送消息的整体逻辑如下: