关于取消勾选User Consent Required后审批流及测试的技术咨询
问题解答
1. 金融机构取消勾选"User Consent Required"后的approval flow变化及测试方法
- approval flow状态:会直接跳过。这个复选框是控制用户授权环节的核心开关,取消勾选后,系统会自动完成授权流程,不会向用户展示确认对话框。
- 测试步骤:
- 在金融机构配置后台找到对应设置,取消勾选
User Consent Required复选框 - 模拟用户发起授权请求:通过测试应用构造请求,重定向到
/oidc/auth端点 - 观察流程走向:确认不会出现用户授权确认的approval对话框,直接完成授权跳转
- 验证令牌内容:检查返回的ID Token/Access Token,确认包含预期的权限和声明,证明授权是自动完成的
- 在金融机构配置后台找到对应设置,取消勾选
2. 请求customer_identifier受限声明的应用相关问题
- a. 客户端未勾选"User Consent Required"时的approval flow:仍会出现。
customer_identifier属于受限声明,这类敏感数据的授权是强制要求用户确认的,不受客户端侧的User Consent Required选项控制,必须经过用户的approval流程才能发放。 - b. 首次携带声明发起授权请求:会启动approval flow。首次请求受限声明时,系统会触发用户授权对话框,确认用户同意将该敏感数据提供给应用。
- c. 初始令牌满足需求时是否需存储Access Token:需要存储(建议同时存储Refresh Token)。原因有两点:一是Access Token有有效期,过期后需要用Refresh Token续期;二是系统会记录用户的授权同意记录,只要授权未过期或未被撤销,使用有效的Refresh Token获取新令牌时,不会再次触发approval flow,避免重复授权。
无法在Garden FI测试approval flow的替代方案
- 搭建本地OIDC测试环境:比如部署Keycloak、Auth0的本地实例,配置受限声明、
User Consent Required开关等参数,模拟金融机构的OIDC服务逻辑 - 模拟approval flow回调:在后端代码中添加测试分支,手动模拟用户同意/拒绝授权的回调结果,验证后端对不同场景的处理逻辑
- 申请金融机构沙箱权限:如果金融机构提供沙箱环境,申请沙箱账号,在沙箱中配置对应选项进行真实流程测试
- 编写单元/集成测试:针对approval flow相关的后端逻辑,编写测试用例,覆盖授权成功、失败、跳过等场景,验证逻辑正确性
内容的提问来源于stack exchange,提问作者snackdev
相关产品推荐
相关产品推荐

