UseOpenIdConnectAuthentication - 无法取消保护 message.State 错误消息

UseOpenIdConnectAuthentication - Unable to unprotect the message.State Error Message

我正在尝试在我的应用程序中添加 Google 和 Azure Active Directory 权限作为 OpenIdConnect 选项。

如果我分别添加它们,效果很好。 但是,如果我同时添加它们,我会收到以下错误消息:

无法取消保护 message.State

这些是 OpenIdConnectOptions 配置:

        //Google
        appBuilder.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
        {                 
            ClientId = ".....apps.googleusercontent.com",
            Authority = $"https://accounts.google.com",
            ClientSecret = "xxxyyyzzzz",
            AuthenticationScheme = "Google",
            DisplayName = "Google",
            AutomaticChallenge = true                                       
        });

        //Azure AD Providers
        var schemeName = "Azure Active Directory";
        var clientId = "1234567890";  
        var tenantId = "0987654321";  

        appBuilder.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
        {               
            ClientId = clientId,
            ClientSecret = "aaaaabbbbcccc",
            Authority = $"https://login.microsoftonline.com/{tenantId}",
            AuthenticationScheme = "Azure Active Directory",
            DisplayName = "Azure Active Directory",
            AutomaticChallenge = true,                                                
        });

当您有多个 OIDC 中间件时,您需要为每个中间件设置唯一的 CallbackPath。否则他们在处理回调时会踩到对方的脚趾。