【问题标题】:azure b2c - an exception has occurredazure b2c - 发生异常
【发布时间】:2019-07-24 18:11:00
【问题描述】:

我正在尝试使用 https://docs.microsoft.com/en-us/azure/active-directory-b2c/configure-ropc 在 Azure AD B2C 中设置资源所有者密码凭据流

我严格按照页面上的说明进行操作。当我尝试使用 Postman 登录时,我收到错误“AADB2C:发生异常”。似乎无法查看错误的详细信息,标准 Azure 审核日志为空。

您如何找到这些错误的详细信息?

我看到您可以配置应用程序洞察,但这需要自定义配置文件(这可能是我唯一的选择)

编辑 - 我让它工作,结果我选择了错误的流量策略 - 所以如果你得到这个,请确保三重检查它!我仍然认为这是一个错误或糟糕的用户体验,因为应该有一种方法可以自己实际调试错误,而无需联系 Microsoft。

【问题讨论】:

  • 这应该是一个错误。错误描述通常在那里。使用您的tenantId 和 PolicyId 向 AADB2CPreview@microsoft.com 发送电子邮件可能会有所帮助。

标签: azure exception oauth-2.0 azure-ad-b2c


【解决方案1】:

我试过了,效果很好。以下是我在邮递员中尝试过的:

【讨论】:

  • @SunnySub 我也做了同样的事情,但我得到了像{ "error": "unauthorized_client", "error_description": "AADB2C90248: Resource owner flow can only be used by applications created through the B2C admin portal.\r\nCorrelation ID: e515fd29-aad9-444c-9153-d226cb8296d0\r\nTimestamp: 2020-06-03 08:00:53Z\r\n" }这样的错误
  • @BrijalSavaliya 我也一样。我想这是某种配置问题,但我不知道确切的问题是什么。你设法让它工作了吗?
  • @SunnySun 您能否分享一下您是如何在 Azure AD B2C 中配置您的应用程序的?
  • 在我编辑清单以设置“accessTokenAcceptedVersion”之前,我遇到了与@SunnySub 相同的错误:2。这需要几分钟才能使错误消失,但大约 10 分钟后开始工作。
【解决方案2】:

阅读一些关于 Azure AD B2C here 的精彩文档。然后确保下载Gaining Expertise with Azure AD B2C

查看此部分:使用 Application Insights 测试和调试自定义策略

我把内容贴在这里以防万一:

您可以使用Application提供的详细日志信息 洞察力调查自定义可能出现的任何问题 政策。使用以下步骤配置 IEF 以发送事件 直接访问 Application Insights。

  1. 使用 Visual Studio,打开 SignUpOrSignIn.xml 文件。
  2. 将以下属性添加到元素。

    DeploymentMode="Development" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"

  3. 在元素下,紧跟在元素之后添加以下节点。用您的应用程序 Insight Key 替换粗体文本。

注意以下几点:

  • DeveloperMode=true 有利于开发,但在大容量时会受到限制,因为它告诉 Application Insights 通过处理管道加快遥测。
  • ClientEnabled="true" 会将客户端脚本发送到 Application Insights,以跟踪页面视图和客户端错误
  • ServerEnabled="true" 会将现有的 UserJourneyRecorder JSON 作为自定义事件发送到 Application Insights

...

  1. 保存文件。
  2. 返回 Azure 门户并切换到您的 B2C 租户。打开 Azure AD B2C 刀片并选择身份体验框架。
  3. 选择上传策略并上传 SignUpOrSignIn.xml 策略文件。选择覆盖策略(如果存在)。

检查 Application Insights 中的日志

  1. 选择 B2C_1A_signup_signin 政策。
  2. 选择立即运行。
  3. 尝试登录为:
    • 无效用户(输入随机电子邮件地址)。 T
    • TestUser@AwesomeYourLastname.onmicrosoft.com 但密码错误。
    • TestUser@AwesomeYourLastname.onmicrosoft.com 使用正确的密码。
  4. 在 Azure 门户中,切换回 Azure 租户,然后打开 DemoInsightsForCustomPolicies Application Insights 资源。
  5. 在详细信息/概览菜单中,选择分析。
  6. 在 Application Insights Web 应用程序中打开一个新选项卡。
  7. 使用以下任何示例查询来查看日志信息。
    • traces:查看 Azure AD B2C 生成的所有日志
    • 痕迹 | where timestamp > ago(1d):查看Azure AD B2C最近一天生成的所有日志
    • 痕迹 | count:查看生成了多少事件
    • 痕迹 |绘制饼图:将数据汇总为饼图

请注意,您可能需要等待几分钟,日志才会开始出现在 Application Insights 中。

如果需要进行详细分析,您可以下载查询结果并将其导出为 CSV 文件。

您可以了解有关使用 Application Insights here 执行分析的更多信息。

#

按照这些步骤,我能够看到 B2C 在执行自定义密码重置策略时返回的真正异常消息。见下文:

【讨论】:

  • 由于 OP 引用了内置用户流之一,因此建议跳转到解决方案的自定义策略是难度的重大飞跃。任何试图走这条路的人都可能喜欢这个文件开头:github.com/Azure-Samples/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多