调用Admin API密码重置端点始终返回401错误问题咨询
问题根因
你遇到的401错误和账号权限配置无关,是认证流的接口适配限制导致的:
- Banno Admin API对不同敏感等级的接口设置了认证流白名单,你当前使用的OAuth Client Credential(客户端凭证)流属于无用户上下文的应用级认证,仅被允许调用用户搜索、用户详情查询、用户状态查询这类低敏感等级的只读接口。
- 密码重置属于高敏感的用户身份写操作,该接口从安全规则层面直接拒绝所有Client Credential流签发的Bearer Token,请求会在网关层直接被拦截返回401,根本不会走到后端的账号权限校验环节——哪怕你绑定的关联账号已经开了
Manage everything全权限,也不会绕过这个认证流校验规则。 - 你登录Banno网页端可以正常发送密码重置链接,是因为网页端登录走的是带具体管理员用户上下文的授权码认证流,符合密码重置接口的认证要求,和Client Credential流拿到的Token权限边界完全不同,不存在权限配置矛盾。
解决方法
不要使用Client Credential流获取调用密码重置接口的Token,替换为带对应管理员账号上下文的认证流(比如Authorization Code授权码流),使用完成管理员授权后签发的Token调用密码重置接口即可正常请求。
你提供的对应失败请求追踪信息如下:
x-request-id: 1027f61b488670cf8f9d0f8af5abe85a Date: Thu, 23 Jun 2022 18:52:05 GMT Client ID: d2970973-1929-4053-abd6-701d188e9945
该请求的拦截记录符合网关层认证流校验失败的特征,不需要反复调整账号权限配置排查。
内容的提问来源于stack exchange,提问作者TonyB
相关产品推荐
相关产品推荐

