首页 > 解决方案 > Azure Active Directory 身份验证 Javascript

问题描述

我正在尝试实现Power Bi Embedded,以实现我必须使用 Azure Active Directory (AAD) 进行身份验证。这就是我卡住的地方,我不知道实现这一目标的步骤是什么。

对于我在 Azure 文档中阅读的内容,并且由于我的堆栈,适合我的流程的身份验证类型是OAuth 2.0 on-behalf-of-flow。这是因为我的 SPA 是在 Angular 上编写的,并且我们使用 Cloud Functions (Firebase) 处理许多事务。所以,我们想要的是:

  1. SPA 尝试嵌入报告
  2. SPA 向云函数请求嵌入令牌
  3. 首先,云功能必须从 AAD 创建访问令牌
  4. 创建访问令牌后,向 Power Bi API 请求生成嵌入令牌
  5. 返回嵌入令牌

基本上,我迷路的地方是第 3 点。我真的不明白我应该如何请求访问令牌,以便我可以继续流程。我为 Js 找到了一个名为ADAL (Active Directory Authentication Library) 的 Js 库,就我所阅读的内容而言,它实现了Implicit grant flow

那么,我需要的是有关如何使用 Javascript 从 AAD 检索访问令牌的任何帮助和/或线索?

标签: azureazure-active-directorygoogle-cloud-functionsadalpowerbi-embedded

解决方案


正如评论中提到的,您可以使用MSAL.js在前端获取具有隐式流的令牌,然后在后端,您可以验证令牌并将其交换为另一个访问令牌,代表使用流动。


推荐阅读