Amazon Cognito登出报错:缺少必填参数'redirect_uri'
问题排查与解决方案
直接访问登出URL正常,但通过网页按钮href点击时提示缺少redirect_uri参数,可按以下步骤排查:
检查HTML中按钮href的参数写法
确保href里的参数分隔符用&而非&。比如正确的按钮代码应该是:<a href="domain/logout?client_id={clientId}&logout_uri=https://localhost:7098/">登出</a>若你在HTML中写的是
&,浏览器解析后虽会转为&,但部分场景下可能导致参数解析异常,直接用&更稳妥。核对身份认证服务的登出参数名
部分身份认证服务的登出跳转参数标准为redirect_uri,而非logout_uri。虽然你直接访问时logout_uri有效,但可能服务端的跳转校验逻辑对页面发起的请求有更严格的参数名要求。尝试将参数改为redirect_uri:domain/logout?client_id={clientId}&redirect_uri=https://localhost:7098/排查页面JS的干扰
右键点击按钮,选择「检查」查看实际的href属性值,确认client_id和跳转参数是否完整。同时检查页面是否有监听点击事件的JavaScript代码,是否存在修改href或拦截跳转请求导致参数丢失的情况。确认Allowed sign-out URLs的配置精度
确保https://localhost:7098/与你配置的Allowed sign-out URLs完全一致,包括结尾的斜杠。部分服务对URL的匹配规则严格,若不确定可配置为https://localhost:7098/*来兼容所有子路径。
内容的提问来源于stack exchange,提问作者Kerim Berkay
相关产品推荐
相关产品推荐

