我使用的是Azure B2C,我在https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-devquickstarts-webapp-dotnet使用该项目作为启动指南。我设法通过使用我的客户端ID,租户ID等替换配置条目来运行此示例。但是,当我尝试将Azure B2C身份验证添加到我当前的Web应用程序(Asp.NET MVC dot net 4.5)时,它表现得很好奇怪的方式。当我按下登录时,它会将我重定向到与工作样本中的URL略有不同的URL。它会在政策后用问号/授权替换和签名?p = b2c_1_signin ***?*** client_id
这是策略网址在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&scope=openid&response_type=id_token&prompt=login
然而,这是我的应用奇怪地重定向到的网址:# 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 - 未找到文件或目录。 您要查找的资源可能已被删除,名称已更改或暂时不可用。
我很确定答案是非常明显的,我会看起来很傻,但我在这里拉头发,任何输入都非常感激。
答案 0 :(得分:3)
没关系,通过将Microsoft.IdentityModel.Protocol.Extensions更新到1.0.4.4或更高版本,解决了问题。
希望这可以帮助那些仍在努力解决这个问题的人。