开发自定义认证
创建用于前端认证的函数后端
通过自定义后端开发自定义认证函数,然后调用该函数进行访问认证,实现自定义认证。
- 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。
- 创建集成应用。
- 在左侧的导航栏选择“集成应用”,单击页面右上角的“创建集成应用”。
- 在创建集成应用弹窗中填写集成应用的“名称”,然后单击“确认”。
- 在左侧的导航栏选择“服务集成 APIC > 自定义后端”,在“后端列表”页签中单击“创建后端”。
- 在创建后端页面配置后端信息,完成后单击“立即创建”。
图1 自定义后端配置
表1 后端配置 参数
说明
后端名称
填写后端的名称,自定义。
集成应用
选择2创建的集成应用。
后端请求方法
后端的请求方法必须选择“POST”。
后端请求路径
填写后端的请求路径,格式如:/getUserInfo/userId。
后端安全认证
选择后端的安全认证方式,此处选择“无认证”。
描述
填写后端的描述信息。
高级设置
高级设置保持默认设置。
后端创建完成后,页面自动跳转到该后端的编辑器页面,后端类型默认为数据后端。
- 开发自定义认证函数的功能实现。
在编辑器的左上角单击“文件 > 新建函数后端 > 前端自定义认证示例”,在弹窗中单击“确定”,然后编写用于安全认证的函数脚本。
修改示例中的认证参数名称和认证参数值,此处使用API请求的Header参数“x-auth”作为认证参数,当“x-auth”的值为“user1:xxxx”时将认证通过。
function execute(data) { data = JSON.parse(data) body = data.body if (body["headers"]["x-auth"] === 'user1:xxxx') { result = { "status": "allow", "context": { "user_name":"user1" } } } else { result = { "status": "deny", "context": { "error_code":"1001", "error_message":"incorrect token input" } } } return result }
- 完成函数编辑后,在页面右上角单击“保存”,保存函数后端配置。
- 在页面右上角单击“部署”,在确认弹窗中单击“确定”,部署函数后端。
创建前端自定义认证
- 在实例控制台左侧的导航栏选择“服务集成 APIC > API策略”,在“自定义认证”页签下单击“创建自定义认证”。
- 在创建自定义认证弹窗中配置前端自定义认证信息。
图2 自定义认证配置
表2 前端自定义认证配置 参数
说明
认证名称
填写自定义认证的名称,自定义。
集成应用
选择2创建的集成应用。
类型
创建前端自定义认证时,选择“前端”。
函数地址
选择创建用于前端认证的函数后端中创建的函数后端。
缓存时间(秒)
保持默认设置。
身份来源
保持默认设置。
是否发送body
保持默认设置。
用户数据
保持默认设置。
- 完成后单击“确定”。