oauth2 获取授权码redirect_uri 含 # 回调时原 # 号后的地址参数没有携带怎么办?
2024-11-20 阅读 13
如果在使用 OAuth2 获取授权码时,redirect_uri 包含了 "#" 符号,并且在回调时原 "#" 符号后的地址参数没有被携带,这可能是因为 "#" 符号在 URL 中被解析为页面内锚点,而不是作为参数传递。
一种解决方法是在构建 OAuth2 授权请求时,将 redirect_uri 中的 "#" 符号进行编码,替换为 "%23",这样可以确保整个 redirect_uri 被正确传递。另外,也可以尝试使用其他符号替代 "#" 符号,或者在 OAuth2 服务端配置中禁用对 "#" 符号的处理,具体方法取决于 OAuth2 服务端的实现和要求。
如果以上方法无法解决问题,建议查阅 OAuth2 相关文档,了解该服务端对于 redirect_uri 中特殊字符的处理规则,或者联系服务端管理员获取更多帮助。
更新于 2024年11月24日