我正在编写一个命令行工具来使用 v3 AMS API 操作 Azure 媒体服务中的 Assets 。它应该使用登录用户进行身份验证。由于Windows AD和Azure AD已同步,因此不需要弹出登录对话框。
本文档: https://learn.microsoft.com/en-us/azure/media-services/latest/access-api-howto?tabs=portal 指出可以使用用户或服务主体身份验证来连接到 AMS。
在本文档中: https://learn.microsoft.com/en-us/azure/media-services/latest/configure-connect-dotnet-howto 有一个如何进行服务主体身份验证的示例,但我找不到有关用户身份验证的任何信息。示例中的代码如下所示:
var clientCredential = new ClientCredential(config.AadClientId, config.AadSecret);
var credentials = await ApplicationTokenProvider.LoginSilentAsync(config.AadTenantId, clientCredential, ActiveDirectoryServiceSettings.Azure);
var amsClient = new AzureMediaServicesClient(config.ArmEndpoint, credentials)
请注意,AzureMediaServicesClient 的所有构造函数都采用 ServiceClientCredentials 对象,因此如何使用 UserCredentials 进行身份验证?
最佳答案
Azure 媒体服务资源管理器执行基于用户的身份验证(和 SP 身份验证)。 https://aka.ms/amse
基于用户的身份验证代码: https://github.com/Azure/Azure-Media-Services-Explorer/blob/master/AMSExplorer/Program.cs#L779-L843
关于azure - 我需要通过用户身份验证连接到 Azure 媒体服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64749477/