Azure B2C GetOwinContext()。Authentication.Challenge使用问号而不是And符号创建错误的URL

我正在使用Azure B2C,我在https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-devquickstarts-webapp-dotnet上使用该项目作为启动指南。 我设法通过使用我的客户端ID,租户ID等替换配置条目来运行此示例。但是,当我尝试将Azure B2C身份validation添加到我当前的Web应用程序(Asp.NET MVC dot net 4.5)时,它表现得很好奇怪的方式。 当我按下登录时,它会将我重定向到与工作样本中的URL略有不同的URL。 它会在政策后用问号/授权替换和签名?p = b2c_1_signin ***?*** client_id

这是策略URL在Azure B2C门户窗口中显示的方式: https : //login.microsoftonline.com/XXX.onmicrosoft.com/oauth2/v2.0/authorize?p= B2C_1_SignIn&client_id = XXXX&nonce = defaultNonce&redirect_uri =https%3A %2F%2Flocalhost%3A44316%2F&范围=的OpenID&RESPONSE_TYPE = id_token&提示=登录

然而,这是我的应用程序奇怪地重定向到的URL:#login.microsoftonline.com/XXX.onmicrosoft.com/oauth2/v2.0/authorize?p=b2c_1_signin?client_id=XXXXX&redirect_uri=https%3a%2f%2flocalhost%3a44316 %2F&response_mode = form_post&RESPONSE_TYPE = id_token&范围=的OpenID&状态= OpenIdConnect.AuthenticationProperties%3d1dRzpEoUYWC8q6vPoGU3VtcY7wXXmMDVlkWqr8aQLvWqv64IWeGE0jUnQ6chCZBWEo55uYHsSD27R6EjKIlEaEQWdH6dgIrNDj_n234nLkHb7bKsToir8Yr8j7gbXPb7dBG00wlOufyOfXRT29owsOzjJ8WWwguWDWlo2MN3McsuIWflDKup5qCtQTUS71RBGAEbcQJ_1BqFxIUZsbTglEg4KGm-mroT0tz7PGDcRQU&随机数= 636311347285953639.YzQyOWNmYjQtNzAxOS00MTBmLTlkYzQtZGM4MjNlNjdjYThlM2ZlMWMxZGEtYWE0MS00YzY3LWFiM2MtZDgyZWNiNGUxOWQ0

我完全从工作样本中复制了代码,但它没有用。 我甚至从头开始创建了一个全新的mvc项目,我从示例项目中复制了代码,但它仍然无效。 当它重定向到该URL时,它显示404 – 未找到文件或目录。 您要查找的资源可能已被删除,名称已更改或暂时不可用。

我很确定答案是非常明显的,我会看起来非常愚蠢,但我在这里拉头发,任何输入都非常感激。

没关系,通过将Microsoft.IdentityModel.Protocol.Extensions更新到版本1.0.4.4或更高版本来解决问题。

希望这有助于任何仍在努力解决这个问题的人。