【问题标题】:Azure B2C authorization code is not returned as expectedAzure B2C 授权代码未按预期返回
【发布时间】:2021-01-20 02:08:15
【问题描述】:

我已经为我的应用程序设置了 Azure B2C。它既有后端,也有 SPA 风格的前端,我希望将两者都用于我必须做的一些身份验证工作。这意味着我需要同时启用它们以适应我的工作流程。

但问题在于,在网络应用程序上,重定向 URI(如下所示)发送为 https://localhost.com/account#id_token=xxxxxx,而我希望它们是 https://localhost.com/account?code=xxxxxx 对于网络应用程序!

B2C 区分 b/w WebApps(服务器技术)和 SPA 应用程序(如下所示),因此我希望 B2C 提供适当的令牌类型(SPA 的 # 类型和 webapp 的 ? 查询类型)。相反,当在上面的 Implicit Grant 选项中启用 Access Tokens 时,我会得到 webapp 的 #id_token=xxxx。为什么会这样?

我目前通过在Implicit Grant 中禁用Access Tokens 来解决此问题。我在这里误会了什么?

我查看了this,但没有回答我关于为什么 B2C 使用错误令牌类型的问题。

【问题讨论】:

  • 您的应用是否需要授权码?
  • 我只是从 B2C 仪表板的“运行此用户流程”中运行身份验证流程

标签: azure jwt azure-ad-b2c


【解决方案1】:

当您使用“立即运行”时,我们会检测是否启用了隐式流并默认使用它。这很有用,因为您可以立即看到令牌。

当您使用您的应用程序代码时,response_type 将是我们要编码的,因此它会以验证码进行响应。或者,如果您想使用身份验证代码作为响应模式测试您的应用回复 url,请禁用应用注册上的隐式流程。或者只是手动编辑立即运行 url。

【讨论】:

    猜你喜欢
    • 2017-04-20
    • 2023-03-25
    • 2020-04-21
    • 2019-12-10
    • 2020-07-03
    • 2017-03-11
    • 2021-05-30
    • 2016-06-29
    • 2020-04-10
    相关资源
    最近更新 更多