请求Azure AD B2C保护的Azure功能应用程序的Postman中的访问令牌

时间:2018-03-15 16:09:10

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

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

现在,我正在研究上述的无服务器版本 - 该应用程序非常相同,期望Azure功能部件中的Azure功能实现端点

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

enter image description here

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

enter image description here

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

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

如果我获取认证后获得的令牌(例如通过使用fiddler并观察返回的id_token),并且在Postman中我选择Bearer身份验证并提供id_token,则Postman成功点击我的端点。但是,如果我按照上面链接文档中的步骤操作,我会得到" login"弹出,然后获得一个有效的[寻找]令牌,但当我点击使用令牌并运行请求,我得到

  

您无权查看此目录或页面。

我真的希望能够像使用我的aspnetcore 2.0应用程序一样从邮递员那里请求访问令牌(实际上只是为了保持一致性,所以我不必记住许多不同的技术) 。这可能是Azure功能应用程序的,如果可以的话,任何线索我在上面做错了吗?

1 个答案:

答案 0 :(得分:0)

啊,我偶然发现了它。我通过添加Postman API客户端ID(注意:邮递员 API 客户端ID,而不是postman App 客户端ID)来修复它[这些引用在上下文中是有意义的“上面提到的微软方法”,在“允许的令牌听众”下(在上面的截图中可见)。