Azure 应用服务的外部授权提供商超过 url 个字符限制

external Auth provider exceeding url character limit for azure app service

我有一个使用身份服务器 4 的身份验证服务器,它允许来自 Microsoft 的外部身份验证提供程序。

当我尝试通过客户端应用程序进行身份验证时,Microsoft 返回的 url 超过了 2048 个字符的限制。我的理解是,通过应用程序服务计划托管时不能增加此限制,但我可能错了。

最好的解决方案是调整我的身份验证服务器以使用 post 向 Microsoft 进行身份验证而不获取。但是我不知道这是如何实现的。

目前在我的启动中class外部身份验证是通过此代码设置的。

services.AddAuthentication().AddMicrosoftAccount(microsoftOptions =>
        {
            microsoftOptions.ClientId = "******************";
            microsoftOptions.ClientSecret = "************************";
            
        });

我在

中看不到合适的选项
public class MicrosoftAccountOptions : OAuthOptions

Class

如果我从错误的角度处理这个问题,我将不胜感激任何对此的意见或指导

需要设置的是初始认证请求时的response_mode属性,设置为form_post,如:

response_mode=form_post

通常在客户端中,您使用 AddOpenIdConnect 方法来添加 OpenIDConnect 支持,然后您可以将响应模式设置为 return 作为 post像这样:

.AddOpenIdConnect(选项 => { options.ResponseMode = "form_post"; ... }

希望这对您有所帮助。我不确定您是如何使用 AddMicrosoftAccount 进行操作的。