javascript - @azure/storage-blob 中 TokenCredential 中的 token 是什么?如何获取 token ?

标签 javascript azure browser azure-blob-storage

我正在使用 Blob 存储帐户。 我公开了一个 SPA Web 应用程序,该应用程序充当存储帐户中 Blob 的在线文件管理器。

我正在使用@azure/storage-blob

我希望能够绕过使用 Azure 函数来生成 SAS token ,并且 SharedKey 凭据仅适用于服务器端。这样就只剩下 TokenCredential 作为授权手段。

我尝试过的: 我尝试在应用程序注册中注册我的网络应用程序,并允许其为存储帐户“user_impersonation”。然后,我使用 MSAL 首先登录用户,然后静默获取访问 token 。

我的假设是这可以作为 TokenCredential 的 token ,但它不适合我。

有人亲自尝试过吗? 谢谢, 拉斯穆斯

最佳答案

通过查看@azure/storage-blob SDK,对于BlobServiceClient,有一个构造函数

  constructor(
    url: string,
    credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential,
    options?: StoragePipelineOptions
  );

在开发 SPA 时,您可以在 @azure/identity 中使用 InteractiveBrowserCredential

  var interactiveBrowserCredential = new InteractiveBrowserCredential("tenant_id, e4c9ab4e-****-****-****-230ba2a757fb", "client_id,ebb50468-****-****-****-85e7968135c0");
  const blobServiceClient = new BlobServiceClient(
    `https://${account}.blob.core.windows.net`,
    interactiveBrowserCredential
  );
<小时/>

顺便说一下,在使用 AAD token 访问存储之前,您需要为用户分配必要的存储 Angular 色。

enter image description here

关于javascript - @azure/storage-blob 中 TokenCredential 中的 token 是什么?如何获取 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58624691/

相关文章:

javascript - 未捕获的类型错误 : Cannot read property 'className' of undefined

azure - ListBlobsSegmentedAsync 突然停止返回 Blob 目录中的文件,即使存储资源管理器显示文件在那里

Azure 环境中的 IIS AppDomain 卸载

ios - iOS 上带有 UIWebView 的多标签 Web 浏览器

c# - 使用语义内核(ChatGPT)的浏览技巧

java - JEdi​​torPane 无法正常工作,如果我实现它,那么一切都会出错

javascript - 如何检索 OpenAI 图像并将其保存到 S3 存储桶

javascript - 将文本放入数字输入不会触发更改事件?

javascript - 是什么导致此脚本失败或陷入无限循环?

azure - 从订阅/资源组继承多个标签