【问题标题】:How can I Retrieve Access Token with password credentials in Postman for Azure AD B2C?如何在 Postman for Azure AD B2C 中使用密码凭据检索访问令牌?
【发布时间】:2022-01-14 06:49:47
【问题描述】:

问题:我要执行什么操作?
答:我正在尝试自动检索 Auth Bearer 令牌以进行 API 测试

当前情景: 我已经关注了这个 wiki Request Access Token in Postman for Azure AD B2C

我能够使用 Grant Type Implicit 检索 Auth Bearer 令牌。虽然,我需要在下一步中添加我的用户名和密码,如图所示:

如果我将授予类型更改为密码凭据以跳过手动添加用户名和密码 - 调用成功但它给出了无效的令牌:

MFA 在用户级别启用。我创建了 MFA 关闭的登录注册流程(尽管尝试关闭和始终开启,但它仍然给出了相同的无效令牌):

如何绕过 MFA 并自动登录并检索访问令牌?

方法2:按照这些ROPC方式获取Token

我能够从 Postman 检索 Accesstoken,但如果在我的应用程序中使用此令牌进行 REST API 调用(应用程序 ROPC_Auth 应用程序和其他应用程序都在同一个租户 B2C 下), 使用此 Auth Bearer Token/Access Token 拨打电话时出错: 错误详情:enter image description here

方法 3:如果我将应用程序/客户端 ID 用于手动工作的同一租户下的应用程序,我在测试 ROPC 流时遇到此错误。

{
    "error": "unauthorized_client",
    "error_description": "AADB2C90057: The provided application is not configured to allow the 'OAuth' Implicit flow.\r\nCorrelation ID: 25661033-61b9-4f59-8358-4cd07ad9b007\r\nTimestamp: 2022-01-13 22:38:52Z\r\n"
}

故障排除部分说要更改清单详细信息,然后我做了这个错误

"{

    "error": "invalid_request",

    "error_description": "AADB2C90205: This application does not have sufficient permissions against this web resource to perform the operation.\r\nCorrelation ID: 45dcc3bf-74d6-4536-8ab4-d2025dc9ecb0\r\nTimestamp: 2022-01-13 21:58:57Z\r\n"

}"

【问题讨论】:

  • 关注this
  • 试过了,ROPC 和注册 登录用户流程。到目前为止没有成功。
  • 解决方案是 ROPC。您需要详细说明您对 ROPC 所做的工作以及确切的结果/观察结果,以获得更多建议。 AAD B2C 用户在用户级别没有 MFA,而是由用户流强制执行。
  • 我已经尝试过 ROPC,按照 wiki 中提到的步骤:我能够从 ROPC_Auth_app 检索令牌,但是当我测试 Rest API 端点时该令牌无效。我收到的错误是:Bearer error="invalid_token", error_description="观众 '1901ad3b-0a9a-48ac-b4bb-6b38a3dc23d0' 无效""
  • 我在上面的问题中添加了更多细节。请检查。

标签: oauth-2.0 postman cypress azure-ad-b2c multi-factor-authentication


【解决方案1】:

• 作为您尝试执行的 ROPC(资源所有者密码凭证)流程的先决条件,我彻底遵循了以下文档链接。通过正确遵循以下文档链接,我成功地通过 Postman 请求了访问令牌、刷新令牌和 ID 令牌,以便将 ROPC_Auth 策略用作在 Azure AD B2C 中注册的应用程序的用户流。

先决条件 Azure AD B2C 链接:-https://docs.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-user-flows?pivots=b2c-custom-policy

ROPC 流 Azure AD B2C 链接:-https://docs.microsoft.com/en-us/azure/active-directory-b2c/add-ropc-policy?tabs=app-reg-ga&pivots=b2c-custom-policy#test-the-ropc-flow

请找到以下成功部署的快照:-

Azure AD B2C 中的 ROPC_Auth 应用程序

应用程序清单更改:-

Azure AD B2C 中的身份体验框架应用程序:-

Azure AD B2C 中的代理身份体验框架应用程序:-

Azure AD B2C 中的 ROPC_Auth 策略:-

在通过 Postman 请求令牌之前,请确保通过“Signup_signin”B2C 自定义策略运行用户流程并通过它创建用户,因为此用户创建的凭据稍后将仅在 Postman 中用作密码凭据身份验证请求。

邮递员 ROPC 请求:-

因此,通过这种方式,您可以通过 Postman 成功使用“密码凭据”流来成功获取应用程序的访问令牌、刷新令牌和 ID 令牌。

【讨论】:

  • 我通过 ROPC 获得了身份验证令牌,但它不适用于 REST API 调用的应用程序。我收到的错误是 "error": "invalid_request", "error_description": "AADB2C90205: This application does not have enough permissions to this web resource to perform the operation.\r\nCorrelation ID: 45dcc3bf-74d6-4536-8ab4 -d2025dc9ecb0\r\n时间戳:2022-01-13 21:58:57Z\r\n"
  • 我在上面的问题中添加了更多细节。请检查。
猜你喜欢
  • 2018-04-26
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 2018-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-22
相关资源
最近更新 更多