OAUTH - 授权 URL "state"参数太长



我正在使用Google OAUTH授权流程上的操作。在授权URL中,Google在URL中传递了一个很长的"state"参数(500+ char),从而在OAauth客户端/服务器(准确地说是Bunq)上产生错误。

我见过更多这种情况,也包括亚马逊技能。

如果我手动缩短"state"参数的长度,错误就会消失。但由于谷歌使用"state"参数作为"书签值",他们不允许任何更改。我这边似乎没有办法解决这个问题。

以下是 Google 上的操作生成的授权网址示例:

https://oauth.bunq.com/auth?redirect_uri=https%3A%2F%2Foauth-redirect.googleusercontent.com%2Fr%2F[MY PROJECT NUMBER]&client_id=[CLIENT ID]&response_type=code&state=[567 CHARACTERS]

有没有办法缩短状态参数,或者以其他方式解决此问题?

虽然 RFC 2616 中Network Working Group指定的 URL 的字符没有指定限制,但许多互联网系统和浏览器使用的事实约定是最多 2k 个字符。您还应该检查内部代码库,查询字符串中可以包含的字符数是否有任何限制。

相关内容

最新更新