azure - 在 Postman 中请求受 Azure AD B2C 保护的 Azure 函数应用程序的访问 token

标签 azure postman azure-functions azure-ad-b2c

我有一个由 Azure Active Directory B2C 租户保护的 AspNetCore 2.0 MVC Web API。我已经能够通过以下SO帖子使用Postman来测试API端点:Request Access Token in Postman for Azure AD B2C (特别是,SpottedMahn 的评论中引用的 Microsoft 记录的步骤: https://learn.microsoft.com/en-us/aspnet/core/security/authentication/azure-ad-b2c-webapi#use-postman-to-get-a-token-and-test-the-api )

现在,我正在开发上述内容的无服务器版本 - 该应用程序几乎完全相同,只是端点已由 Azure Functions 应用程序中的 Azure 函数实现

Functions 应用程序已启用身份验证,使用 Azure Active Directory 登录并进行以下设置:

enter image description here

这就是我在 Azure B2C 租户中设置应用程序的方式:

enter image description here

如果我通过浏览器访问函数端点,我会成功路由到 Azure AD B2C 登录页面并可以登录,然后查看 API 端点的结果。所以我非常有信心一切都好。 Azure AD B2C <-> 函数应用配置。

但是,我无法使用上面链接的请求访问 token 技术来获取 token 并检查 Postman 中的端点

如果我获取身份验证后获得的 token (例如通过使用 fiddler 并观察返回的 id_token),并在 Postman 中选择承载身份验证并提供该 id_token,则 Postman 会成功到达我的端点。但是,如果我按照上面链接文档中的步骤操作,我确实会收到“登录”弹出窗口,然后会获得有效的[查找] token ,但是当我单击“使用 token ”并运行请求时,我会得到

You do not have permission to view this directory or page.

我真的很希望能够向 postman 请求访问 token ,就像我可以使用我的 aspnetcore 2.0 应用程序一样(实际上只是为了保持一致性,所以我不必记住很多不同的技术)。 Azure Function Apps 是否可以这样做?如果可以,有什么线索说明我在上面做错了什么吗?

最佳答案

啊,我偶然发现了它。我通过添加 Postman API 客户端 ID 来修复此问题(注意: postman API 客户端 ID,而不是 postman App 客户端 ID)[这些引用在上下文中有意义上面链接的 Microsoft 操作方法],在“允许的 token 受众”下(在上面问题的屏幕截图中可见)。

关于azure - 在 Postman 中请求受 Azure AD B2C 保护的 Azure 函数应用程序的访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49304238/

相关文章:

Azure WebAPI,它需要 id token 还是访问 token 作为承载?

c# - 使用 C# 以编程方式启用/禁用 Azure 中的函数

azure - 通过代理连接到 Azure 服务总线 - Java

c# - NLOG 和 Azure 表存储

javascript - Node js-类型错误: Cannot read property

java - Spring Boot从请求中获取图像数据

azure-functions - 本地 Azure Functions 触发器计时器触发器

azure - 如何在 QnA Maker 中预先过滤用户输入的答案?

使用图形 API 并将登录名作为用户名创建用户时,Azure AD B2C 密码重置不起作用

kotlin - 如何向 kotlin 协程发出 postman 请求