Azure AD B2C社交注册失败

时间:2018-09-07 16:44:52

标签: azure azure-ad-b2c

我正在尝试获取一个AspNet Core 2.1网站以通过Azure AD B2C进行身份验证。我已根据我发现的在线说明(例如this for Google)在租户中配置了Google和Microsoft帐户注册。

但是注册/登录选项均无效。指向它们的链接显示在默认的Azure AD B2C登录页面上,但是单击链接会触发错误:

  • 对于Google,它会导致redirect_uri_mismatch错误

  • 对于Microsoft帐户,它返回“我们正在经历技术 错误”错误页面,该页面持续了超过24小时, 所以我怀疑会发生任何故障

这都是在开发环境中发生的,因此我没有使用公开注册的域(例如,答复uris全部都指向了本地主机)。那可能是问题吗?如果是这样,如何正确设置开发环境?

其他信息

我通过Google身份提供商解决了问题。

但是我仍然遇到与Microsoft帐户提供程序相同的错误。但是,我只是注意到错误页面的URL中隐藏了一条错误消息,该错误消息并未显示在页面本身上:

  

error = invalid_request&error_description =为+输入+参数+'redirect_uri'+提供的+值+是+无效+++期望+值+为+'https://login.live.com/oauth20_desktop.srf'+或+ a +此+客户端+应用程序的+重定向+ URI +注册的+ URL +。

错误消息中的第一个建议-针对login.live.com-不起作用。 Microsoft Application Portal抱怨域不匹配。

但是我看不到如何应用第二个建议,因为我不知道redirect_uri在Web应用程序中生成/存储在哪里(即,我在Microsoft Application Portal中定义了重定向uri,但是我在我的Web应用程序中看不到相应的配置参数。

3 个答案:

答案 0 :(得分:2)

确保您在社交服务提供商中注册了相同的基本答复URL,并且您的应用程序是从B2C调用的。

例如: 如果您的应用调用了https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/v2.0/authorize,则您的社交服务提供商中的回复网址应为https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp

但是,某些应用示例会调用https://contoso.b2clogin.com/te/contoso.onmicrosoft.com/oauth2/v2.0/authorize(请注意“ te”),因此您需要添加一个回复URL https://contoso.b2clogin.com/te/contoso.onmicrosoft.com/oauth2/authresp

我通常将两者都添加。

答案 1 :(得分:0)

您首先可以使用本地电子邮件帐户注册吗? https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-tutorials-web-app 这将对您有所帮助,其中包含一个示例Web应用程序和相关步骤,一旦您能够唱歌和进行身份验证,便可以将身份提供者添加为Google,Microsoft,Facebook等,然后可以编辑注册或登录在政策中,并添加Google,Microsoft等的身份提供者,

我希望这会有所帮助,加油!!如果您遇到任何问题,请告诉我

Suraj Revankar

答案 2 :(得分:0)

发现我用来设置MicrosoftAccount身份应用程序所遵循的文档不正确,或者我遵循了错误的说明。

基本上,您需要重定向到

  

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

不是

  

https://localhost:[port#]/signin-oidc

就像我最初关注的文档一样。

查看此question and answer以获得更多详细信息。

相关问题