我在Windows Server 2012 R2上使用ADFS 3.0。 我有一个应用程序使用OAuth2请求授权代码,然后使用该代码获取访问令牌。
应用程序在其redirectURI中需要一些上下文,有时这个上下文会导致一个大于400个字符的URI。 发生这种情况时,ADFS 3.0将返回:
MSIS9253:收到的授权码无效。 接收到的客户端标识符或redirectURI与接收到的授权码发出的客户端ID或redirectURI不匹配。
我确认这个错误是误导性的。 客户端ID和URI完全相同 – 问题似乎是,如果URI长度超过400个字符,ADFS 3.0会截断redirectURI。 然后,它将访问令牌请求期间传递的直接URI与授权请求期间传递的URI进行比较,它们不匹配!
我能够直接连接到ADFS使用的数据库,并且我确认他们的模式只包含redirectURI的400个字符。
有没有办法允许更长的URI?