使用 Azure Ad Auth 从 .NET Core Web API 读取/写入 Azure Blob

     2023-02-19     100

关键词:

【中文标题】使用 Azure Ad Auth 从 .NET Core Web API 读取/写入 Azure Blob【英文标题】:Read/Write into Azure Blob from .NET Core Web API using Azur Ad Auth 【发布时间】:2021-10-13 22:48:40 【问题描述】:

我正在尝试从我的 API 合并 blob 上传。于是创建了存储帐户和容器。

并且身份验证模式设置为 Azure AD。在我们的组织政策中,我们被限制使用连接字符串

但是关于从 blob 上传/下载的教程中有 90% 使用的是 Connectionstring .NET Core Blob access

但由于我是基于 Azure AD 的,我真的很困惑如何继续

我尝试过这种方式,但很晚我发现它在 .net 5 中不支持

        var tokenCredential = new TokenCredential(_StorageAuth.AccessToken, TokenRenewerAsync, null, tokenExpiry);
        string blobcontainer = "blob-container-dev-dv1";
        string storageName = "apllmyappdevuksst";

        var storageAccount = new CloudStorageAccount(new StorageCredentials(tokenCredential), storageName, null, true);


        
        //Uri accountUri = new Uri(storageAccount.BlobStorageUri.ToString());
        //BlobServiceClient client = new BlobServiceClient(accountUri, new DefaultAzureCredential());

我真的不知道接下来如何从 .NET core 5 将文件上传到 blob

令牌和存储范围的一切都正确

【问题讨论】:

我的示例应用可能会有所帮助:github.com/juunas11/managedidentity-filesharing/blob/… 你试过thisBlobServiceClient的构造函数吗? 根据docs.microsoft.com/en-us/azure/storage/common/…,它说使用 DefaultAzureCredential DefaultAzureCredentialTokenCredential 的一种类型,因此可以使用。我建议在这里阅读它 - docs.microsoft.com/en-us/dotnet/api/… 以更好地了解它的实际工作原理。 哦,一旦你有了 BlobServiceClient,你就可以使用你分享的链接中提到的相同代码。从那时起,一切都会完全一样。 【参考方案1】:

我不知道,这太直接了。分享给有类似需求的人 非常感谢@Gaurav Matri 指出这一点

 BlobServiceClient client = new BlobServiceClient(new Uri("https://storageaccount.blob.core.windows.net/container"), new DefaultAzureCredential());
  BlobContainerClient containerClient = client.GetBlobContainerClient("container");

   string f = Path.GetFileName(filename);
   BlobClient blobClient = containerClient.GetBlobClient(f);

   var path = Path.Combine(Directory.GetCurrentDirectory(), "ADOData", "Before2020.txt");
   using FileStream uploadFileStream = File.OpenRead(path);

   await blobClient.UploadAsync(uploadFileStream, true);
   uploadFileStream.Close()

【讨论】:

auth0 是不是支持使用 Microsoft Authenticator App 登录 Azure AD?

】auth0是不是支持使用MicrosoftAuthenticatorApp登录AzureAD?【英文标题】:Doesauth0supportloggingintoAzureADusingtheMicrosoftAuthenticatorApp?auth0是否支持使用MicrosoftAuthenticatorApp登录AzureAD?【发布时间】:2021-08-1510:46:53【问题描述】:我们有一个... 查看详情

Asp Core:Azure Ad Auth + 自定义 JWT + 自定义身份存储

...omIdentitystore【发布时间】:2018-09-1501:29:16【问题描述】:使用ASP.NETCore2.0我尝试实现以下目标:通过AzureAD(注册应用)进行身份验证自定义JWT作为身份验证方案使Web应用程序身份验证跨服务器/实例工作能够保存承载以使用桌面... 查看详情

401 使用 Azure AD 在 .NET Core 3.1 中仅使用不记名令牌进行身份验证

】401使用AzureAD在.NETCore3.1中仅使用不记名令牌进行身份验证【英文标题】:401withbearertokenonlyauthin.NETCore3.1usingAzureAD【发布时间】:2020-08-1209:01:59【问题描述】:我正在尝试使用AzureAD在.NETCore3.1API中实现不记名令牌(仅)身份验证... 查看详情

.net 核心 2.2 Azure Ad Jwt 令牌

】.net核心2.2AzureAdJwt令牌【英文标题】:.netcore2.2AzureAdJwtToken【发布时间】:2020-08-2406:16:29【问题描述】:我正在尝试在我的.netcore2.2中间件中验证从库react-aad-msal获得的Azure广告令牌。令牌似乎是有效的,但我从后端收到此错误Sy... 查看详情

如何在 ASP.NET Core 3 上同时使用 Azure AD 身份验证和身份?

】如何在ASP.NETCore3上同时使用AzureAD身份验证和身份?【英文标题】:HowtousebothAzureADauthenticationandIdentityonASP.NETCore3?【发布时间】:2020-05-2814:49:45【问题描述】:Web应用程序应允许拥有AD帐户的内部员工使用AzureAD身份验证在应用程... 查看详情

使用 Azure AD 的 Asp.net core mvc 基于角色的授权

】使用AzureAD的Asp.netcoremvc基于角色的授权【英文标题】:Asp.netcoremvcrole-basedauthorizationwithAzureAD【发布时间】:2020-10-1901:09:28【问题描述】:所以,我有带有AzureAD的Asp.net核心MVC应用程序,它允许人们使用他们的microsoftacc唱歌,然... 查看详情

尝试使用 protobuf-net 通过 gRPC-Web 进行 Azure AD 身份验证

】尝试使用protobuf-net通过gRPC-Web进行AzureAD身份验证【英文标题】:tryingtoAzureADauthenticationwithgRPC-Webusingprotobuf-net【发布时间】:2020-10-2200:28:43【问题描述】:我正在尝试在blazorwebassembly应用程序中使用gRPC-Web进行AzureAD身份验证。我... 查看详情

如何从 Asp.net Core 中的查询字符串验证 Azure AD B2C 令牌?

】如何从Asp.netCore中的查询字符串验证AzureADB2C令牌?【英文标题】:HowtovalidateAzureADB2CtokenfromquerystringinAsp.netCore?【发布时间】:2019-10-0721:25:12【问题描述】:我有一个带有一些控制器和一个signalR集线器的asp.netwebapi应用程序。Azur... 查看详情

如何在使用 .NET Core 3.1 通过 Visual Studio 2019 开发 Azure Functions 时使用 AD 身份验证

】如何在使用.NETCore3.1通过VisualStudio2019开发AzureFunctions时使用AD身份验证【英文标题】:HowtouseADauthenticationwhiledevelopingAzureFunctionsthroughVisualStudio2019using.NETCore3.1【发布时间】:2021-04-1006:15:05【问题描述】:我正在使用.NETCore3.1中的V... 查看详情

具有范围的 Azure AD 应用程序权限

】具有范围的AzureAD应用程序权限【英文标题】:AzureADapplicationpermissionwithscopping【发布时间】:2020-12-0116:04:03【问题描述】:根据以下文章,我们可以从ExchangeOnline中确定AzureADGraphAPI权限范围。https://docs.microsoft.com/en-us/graph/auth-lim... 查看详情

asp.net core 自定义不记名令牌和 Azure Ad 令牌授权

...述】:我会尽力解释我的问题。目前我正在处理用户可以使用本地db用户登录并可以使用AzureAD登录的要求,使用本地db用户我正在使用以下代码创建自定义令牌。publicstaticstring 查看详情

Azure AD 与 ASP.NET Core MVC 中的标识

...605:53:56【问题描述】:我有一个应用程序,我曾经在其中使用AD和Identity对用户进行身份验证。但现在我想从AD更改为AzureAD。我在Azure门户中注册了一个应用并将其添加到我的appSettings.json文件中"AzureAD":"Instanc 查看详情

ASP.NET Core 3.1 Azure AD 身份验证引发 OptionsValidationException

...【发布时间】:2020-05-2710:08:56【问题描述】:我正在尝试使用AzureActiveDirectory处理Web应用程序的身份验证。但是,当我尝试使用Authorize 查看详情

Azure AD B2C - 从所有会话中注销用户

...发布时间】:2017-05-0209:49:47【问题描述】:我有3个网站使用一个B2C租户。我被要求进行设置,以便当用户退出一个网站时,将其全部退出。如果他们的帐户被删除,也是如此。我认为我必须在每个请求上引入对Azure的调用以确定... 查看详情

使用 Azure AD 的 API 后端 (.NET Core) 中的身份验证基础知识

】使用AzureAD的API后端(.NETCore)中的身份验证基础知识【英文标题】:AuthenticationbasicsinAPIBackend(.NETCore)usingAzureAD【发布时间】:2018-10-2820:24:29【问题描述】:也许问题比标题更全面。有很多关于身份验证、令牌、JWT、AzureAD等的帖子... 查看详情

ASP.NET Core 2.2 中的 Azure AD 身份验证

】ASP.NETCore2.2中的AzureAD身份验证【英文标题】:AzureADAuthenticationinASP.NETCore2.2【发布时间】:2019-12-1303:13:59【问题描述】:我目前正在努力将ASP.NETCore2.2WebAPI连接到现有的AzureAD。我的配置基于ASP.NETCore团队的thissamplecode。Cookie已替... 查看详情

使用 Azure AD 中的不记名令牌保护 ASP.Net Core 3.1 API

】使用AzureAD中的不记名令牌保护ASP.NetCore3.1API【英文标题】:SecureASP.NetCore3.1APIwithBearerTokensfromAzureAD【发布时间】:2020-07-2523:52:33【问题描述】:我有一个.netcore3.1WebAPI。我想使用AzureAD中的不记名令牌保护端点。我已关注Thisguide... 查看详情

无法验证从 Azure AD 获得的访问令牌签名以保护 Web API

...【发布时间】:2019-08-1008:15:09【问题描述】:我正在尝试使用隐式流使用AzureAd保护我的Webapi(.netcore2.2)。我使用Azure门户>AzureActiveDirect 查看详情