![Adfs 3.0 重定向 Uri 长度限制](https://linux22.com/image/703633/Adfs%203.0%20%E9%87%8D%E5%AE%9A%E5%90%91%20Uri%20%E9%95%BF%E5%BA%A6%E9%99%90%E5%88%B6.png)
我在 Windows Server 2012 R2 上使用 ADFS 3.0。我有一个应用程序使用 OAuth2 请求授权码,然后使用该代码获取访问令牌。
应用程序需要重定向 URI 中的一些上下文,有时此上下文会导致 URI 大于 400 个字符。发生这种情况时,ADFS 3.0 返回:
MSIS9253:收到的授权码无效。收到的客户端标识符或重定向 URI 与收到的授权码颁发给的客户端 ID 或重定向 URI 不匹配。
我确认这个错误是误导性的。客户端 ID 和 URI 完全相同 - 问题出现原因是,如果 URI 的长度超过 400 个字符,ADFS 3.0 会截断重定向 URI。然后,当它将访问令牌请求期间传递的直接 URI 与授权请求期间传递的 URI 进行比较时,它们不匹配!
我能够直接连接到 ADFS 使用的数据库,并且我确认它们的架构仅包含重定向 URI 的 400 个字符。
有没有办法允许更长的 URI?