iVX定制版SA部署方案
更新时间:2024-05-20 15:21:02
iVX支持将编辑系统整体导出,并部署至本地服务器环境,以支持用户在本地环境完成完整的应用开发、调试与导出流程。
系统架构
私有部署的iVX编辑器系统结构如下:
除了iVX编辑器本身,还包括以下功能模块:
1、登录系统,用于用户登录与管理。iVX系统在初始部署时,会自动生成一个企业主管理账号,用户可以在管理账号中,自行添加子账号。子账号的数量根据选择的部署方案,有一定的限制,超过上限之后,遍无法再添加。登录系统,也支持针对第三方的登录接口进行定制,比如,您的企业内部已有一套用户登录系统,iVX的登录系统也可进行针对性的开发对接,让内部用户使用企业自有的系统完成登录验证。定制开发,可能需要涉及一定的费用,具体根据对接难度来决定。
2、工作台,类似线上版本iVX的工作台,用于应用的管理、系统消息的查看等辅助功能。企业主管理账号,也可以在工作台中管理所有子账号的应用。
3、应用的调试,即编辑器中预览功能。包括api、服务的调试、应用的预览、日志等全套调试功能。
4、应用的导出,即线上版本的应用私有部署功能。由于私有部署的编辑器环境,不包含应用的正式运行环境,因此没有线上版本的“一键发布”功能。您需要使用应用导出功能,将应用的前后台代码与资源一起导出,然后使用应用私有部署的方法,自行部署至生产发布环境。切记,不要使用编辑环境中的预览地址来发布应用,编辑环境的后台设计仅考虑了编辑调试需要,不支持大规模高并发的应用托管。
硬件环境要求
iVX的编辑系统整体部署,目前仅支持单机部署,且需要搭配一个程序加密狗,因此,需要部署的裸机服务器上,使用USB接入。
服务器推荐使用X86架构,ARM架构的服务器也可部署,但需要额外支付ARM版本加密狗费用。操作系统,推荐使用OpenEuler 22.03版, 符合国内国产化、信创的一些做法。
服务器的性能,根据预估使用用户来决定,大致的推荐如下:
1-20人:8核 16-32G;
20-50人:16核 32-64G;
50-200人:32核 64-128G;
由于整体部署环境,需要额外安装redis、nodejs、mysql、influx DB等基础软件,因此推荐使用4倍内存。
使用限制
iVX编辑系统整体部署之后,根据您选择的部署计划,会在以下方面存在限制:
1、用户人数,即所有子账号与管理主账号的总数量;
2、应用数量
3、使用期限
==iVX怎样做SSO/Auth/Auth2对接
更新时间:2023-09-05 09:52:25第三方oAuth2接入的模式
iVX应用接入第三方的oAuth2系统,主要有以下两种模式:
模式1:仅使用iVX制作前端UI,所有后台服务通过第三方API来访问。此时,只要在iVX前端登录了第三方oAuth2系统,就可以在浏览器中获取到API的访问token,然后通过前端API组件,访问和oAuth2系统搭配的API即可。
模式2:在iVX应用中开发后台服务,后台服务也需要根据第三方oAuth2系统来鉴权。这种场景,需要额外引入iVX的账号系统组件,在完成第三方oAuth2系统授权之后,再根据返回结果在iVX账号系统组件中生成登录token,用来控制iVX后台服务与前端对应UI控件的访问权限。一个iVX账号系统,可以控制多个iVX应用,以实现多应用的统一登录认证(sso)。
案例预览地址
前端接入oAuth2登录
以上两种模式,都需要在首先前端应用接入oAuth2的登录认证,接下来我们以微软Azure的统一认证接口为例,详细介绍如何接入一个典型的oAuth2接口。通常来说,一个oAuth2接口都包含三个步奏:①获取授权代码②获取(凭证)token③获取用户信息,详细文档点击这里查看 ####
1、获取授权代码
其中包含了五个必须填入的参数,具体的说明见上图,这里和大家简单介绍一下每个参数大致的获取位置。
第一个参数是tenant:
在Azure Active Direcoty下选择应用程序
选择你已经创建的应用(若未创建可在这里进行创建)
租户ID就对应了tenant的值。
第二个参数是client_id:
对应着刚刚打开应用这个界面中的应用程序(客户端)ID
第三个参数是response_type:
通常来说都是通过获取授权代码来换取凭证,所以这里写入固定的值code即可。
第四个参数是redirect_uri:
这个参数在我们申请应用的时候就可以填写,也可以点击重定向URI重新设置,对于web应用而言,这里写入应用的发布地址即可,注意这个参数必须写入和配置中完全一致的地址,否则页面无法实现重定向
第五个参数是scope:
这个参数定义了可以获取权限的范围,在示例中写入的参数为
openid offline_access https://graph.microsoft.com/mail.read
按照文档的规则,拼接后获取到了授权的地址:
前端打开这个网址,就会打开授权登陆页面
页码会跳转至微软的登陆界面,登陆成功后,页码会跳转回uri中设置的网址,并且在url参数中会携带一个code参数,到这一步,就完成了获取授权代码
2、获取凭证(token)
在文档中出现了两个之前没有见过的必填参数
其中code就是我们通过第一步获取授权代码后返回在url参数中code的值,我们可以通过获取url参数的方法获取;client_secret需要我们去填入客户端凭证(若没有新建即可),这个值仅在新建时可见,请谨慎保存
将client_secret的值填入Secret Key 中
按照文档的方法拼接请求地址与参数,即可获取token
3、获取用户信息
获取用户信息只需要使用token即可,文档地址点击这里,我们在Header中拼接token信息即可
这样我们就可以获取到azure中用户的信息,完成了oAuth2的登陆操作:
接着,我们将登陆后的账户与iVX的账号系统结合起来:
iVX账号系统是在iVX中设置用户权限与登陆token的组件,我们选中对象数的后台,点击菜单栏的后端资源
在账号系统标签下点击新建账号系统
第一次新建的账号系统会自动弹出权限管理,在权限管理分类下创建不同的权限组
在预览版与发布版角色中建立角色并分配权限
设置完成后,将该账号系统添加至后台
接着我们将oAuth2登陆后的用户信息与iVX账号系统连接起来,oAuth2获取到用户信息后,我们调用iVX账号系统生成登陆token并返回
在前台初始化的时候,我们首先调用账号系统的解析登陆token,若该token存在且未过期,我们就可以直接获取账号系统缓存中的账号信息;若不存在或者已过期,我们就跳转到登录页去重新发起oAuth2登陆。
最后不同的应用中可以在后台添加同一个账号系统,以实现在iVX不同应用中的统一登陆。