如何使用Microsoft.Identity.Web对Azure.Storage.Blobs进行授权?

问题描述

我正在使用 Microsoft.Identity.Web (0.2.3-preview)通过天蓝色的AD进行 OAuth 身份验证。我想使用 Azure.Storage.Blobs (12.x)实现对Azure Blob存储的访问。 我设法找到了 Azure.Storage.Blob (11.x)

的示例
string[] scopes = new string[] { "user.read","https://storage.azure.com/user_impersonation" };           
var accesstoken = await _tokenAcquisition.GetAccesstokenForUserAsync(scopes);
var tokencr = new TokenCredential(accesstoken);
var storagecr = new StorageCredentials(tokencr);
var blob = new CloudBlockBlob(new Uri(containerUri),storagecr);

其中_tokenAcquisition是通过构造函数DI获得的Microsoft.Identity.Web.ITokenAcquisition。

使用 Blob (版本12),我想使用BlobContainerClient(Uri blobContainerUri,Azure.Core.TokenCredential credential,Azure.Storage.Blobs.BlobClientOptions options = default)而不是CloudBlockBlob,但是我没有找到与Microsoft.Azure.Storage.Auth等效的东西(v11)。参数Azure.Core.TokenCredentialTokenCredential参数)似乎没有任何等效的实现。

是否可以使用Microsoft.Identity.Web来授权 Azure.Storage.Blobs

注意 这是一个研究项目,而不是生产应用程序。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)