0

我无法让 Microsoft 帐户身份验证在 AspNet Core 2.1 网站上工作(我有 Google 身份验证工作)。

当我从社交登录页面单击 Microsoft 帐户按钮时,我最终进入“技术问题”错误页面。我的网络浏览器是谷歌浏览器,在 Windows 10 下,最新更新。

为了诊断发生了什么,我安装了 LinkResearchTools Link Redirect Trace 以尝试跟踪最终将我带到该错误页面的重定向。我不确定这是调试/跟踪正在发生的事情的最佳方式,但这是我能想到的。

单击网站标题中的登录链接,第一个重定向是:

https://ridemonitor.b2clogin.com/ridemonitor.onmicrosoft.com/b2c_1_signupin/oauth2/v2.0/authorize?client_id=035ba5c4-d1a6-41c4-9425-0985bb4aa5de&redirect_uri=https%3A%2F%2Flocalhost%3A44305%2Fsignin- oidc&response_type=id_token&scope=openid%20profile&response_mode=form_post&nonce=636729887963798999.OTllOWQ4MDEtZDc0YS00MjUxLWE4ZDAtODAwMThmYzllNmVkNjUxNWU0OTktYmMzNS00MmQwLWFiYmUtNjgwMDJhNzFjOWIy&state=CfDJ8DUZTACb0dBAqZ5KhCEik9SlgAhmUgNWHdhe3rNb-d3M1xYGQlIDMzSq5UyB1P-3d3jziI06Mj94rQcnyGpiykGdDqvy588DrhR-wi0bj2SLVyRoyTclszwbBdXKgXfukRJ0Soif1eJzWBUbZU6_osWgzmh8hgvlGIUON62n3MidLRTgJ4Ca0VN_VJe_9vpfWF6TGUBOAuODlXTZAEEDbopqSuzKXweE0nUR-jv-aAj7v3vgV0NHC6rJKvHVaRyw7oYkD1-my6-AOWq1-U5ttokJfCjMKMYDD8dr_UM3jg_P&x-client-SKU=ID_NETSTANDARD1_4&x-client-ver=5.2.0.0

这将我带到一个“社交登录”页面,我可以在其中选择 Google(有效)或 MicrosoftAccount(无效)。

下一个重定向是:

https://login.live.com/oauth20_authorize.srf?client_id=704398a8-908a-4512-9cc0-4453014b4714&redirect_uri=https%3a%2f%2fridemonitor.b2clogin.com%2fridemonitor.onmicrosoft.com%2foauth2%2fauthresp&response_type=code&scope= openid+profile+email&response_mode=form_post&nonce=OVJptuLcHfkYUCTk36vO6g%3d%3d&state=StateProperties%3deyJTSUQiOiJ4LW1zLWNwaW0tcmM6ZTU1MDdhMzYtMmJjYy00Y2Y4LWFlNGEtNmVjY2VkNjU0MWZkIiwiVElEIjoiNDkwNTEwYTctNDAwYy00MjI3LThlODMtNmRhOTUxZTQyMmI1In0

然后将我重定向到:

https://login.live.com/err.srf?lc=1033#error=invalid_request&error_description=The+provided+value+for+the+input+parameter+ 'redirect_uri'+is+not+valid.+The+expected+ value+is+' https://login.live.com/oauth20_desktop.srf '+or+a+URL+which+matches+the+redirect+URI+registered+for+this+client+application.&state=StateProperties%3deyJTSUQiOiJ4LW1zLWNwaW0tcmM6ZTU1MDdhMzYtMmJjYy00Y2Y4LWFlNGEtNmVjY2VkNjU0MWZkIiwiVElEIjoiNDkwNTEwYTctNDAwYy00MjI3LThlODMtNmRhOTUxZTQyMmI1In0

显示错误页面。

请注意,隐藏在最后一个链接中的是一个错误描述字段(由于某种原因,它不会显示在错误页面上)。如果我的解释正确,则说明我与 Azure 门户、我的网站应用程序或两者中设置的 redirect_uri 不匹配。

然而,我认为重定向设置一致:

所以我显然在某处遗漏了一些东西。想法?

4

2 回答 2

1

“使用 Azure Active Directory B2C 使用 Microsoft 帐户设置注册和登录”一文所述,您必须向 Microsoft 身份提供商注册以下重定向 URL:

https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp

正是此重定向 URL 从 Azure AD B2C 发送到 Microsoft 身份提供者,以便在 Microsoft 登录后返回到 Azure AD B2C。

于 2018-09-20T09:48:39.673 回答
0

我发现如果您使用以下格式的链接并使用 .NET Core 模板

https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp

然后还需要更新 appsettings.json 如下:

“AzureAdB2C”:{“实例”:“ https://your-tenant-name.b2clogin.com/tfp/ ”,

于 2018-10-09T14:33:06.580 回答