首页 > 解决方案 > 使用 Postman 进行 AAD B2C 授权的 Web Api 测试失败

问题描述

我想使用带有 Microsoft 帐户作为身份提供者的 AAD B2C 使用 Postman 测试本地运行的 Web api 授权端点。Web api 运行良好,我可以从客户端应用程序(Web 应用程序和 UWP 应用程序)进行身份验证,但由于无法获取令牌,我无法使用 Postman 对其进行测试。未经授权,邮递员工作良好。

我正在使用以下指南: https ://docs.microsoft.com/en-us/aspnet/core/security/authentication/azure-ad-b2c-webapi?view=aspnetcore-3.0

邮递员的错误信息: 在此处输入图像描述

邮递员的设置: 在此处输入图像描述

AAD B2C 应用:

在此处输入图像描述

AAD B2C 邮递员应用程序属性: 在此处输入图像描述

AAD B2C Postman App API 访问: 在此处输入图像描述

你能告诉我缺少什么吗?

标签: authenticationpostmanasp.net-core-webapiazure-ad-b2c

解决方案


我可以重现你的问题。根据您的捕获,Auth URL在邮递员设置(图 2)中,您使用的主机https://login.microsoftonline.com将在使用 MSA 身份提供程序时导致重定向 uri 问题。

要解决此问题,您应该使用此主机:https://{your-tenant-name}.b2clogin.com.

详情见这个官方文档

在 Azure Active Directory B2C (Azure AD B2C) 应用程序中为注册和登录设置身份提供程序时,需要指定重定向 URL。您不应再在应用程序和 API 中引用 login.microsoftonline.com。相反,将 b2clogin.com 用于所有新应用程序,并将现有应用程序从 login.microsoftonline.com 迁移到 b2clogin.com。

希望能帮助到你 。


推荐阅读