client = new CloudMediaContext (новый MediaServicesCredentials (accountName, accountKey));
Службы мультимедиа Azure объявляют о поддержке AAD и прекращении поддержки аутентификации ACS.
Поскольку Azure Active Directory предоставляет мощные функции управления доступом на основе ролей и поддержку более детального доступа к ресурсам в вашей учетной записи по сравнению с моделью аутентификации токена ACS («ключи учетной записи»), мы настоятельно рекомендуем вам обновить свой код. и перейти с ACS на аутентификацию на основе AAD до 22 июня 2018 г..
Кроме того, основной причиной быстрой миграции является предстоящее объявленное прекращение поддержки системы аутентификации на основе ключей ACS.
Аутентификация пользователя с помощью AAD в службах мультимедиа
Собственное приложение сначала получит маркер доступа из Azure Active Directory, а затем будет использовать этот маркер доступа для выполнения всех вызовов REST API.
В следующих примерах показано, как приложение-демон может использовать учетные данные веб-приложения AAD для аутентификации запросов с помощью службы REST.
Для успешного выполнения запроса REST API вызывающий пользователь должен быть «участником» или «владельцем» учетной записи служб мультимедиа Azure, к которой он пытается получить доступ.
Пользователи клиентского SDK .NET для служб мультимедиа должны обновить Nuget до последней версии (windowsazure.mediaservices версии 4.1.0.1 или выше), чтобы использовать аутентификацию AAD для связи с запросами REST.
Вы можете использовать следующий код для подключиться к учетной записи служб мультимедиа.
class Program
{
// Read values from the App.config file.
private static readonly string _AADTenantDomain =
ConfigurationManager.AppSettings["AMSAADTenantDomain"];
private static readonly string _RESTAPIEndpoint =
ConfigurationManager.AppSettings["AMSRESTAPIEndpoint"];
private static readonly string _AMSClientId =
ConfigurationManager.AppSettings["AMSClientId"];
private static readonly string _AMSClientSecret =
ConfigurationManager.AppSettings["AMSClientSecret"];
private static CloudMediaContext _context = null;
static void Main(string[] args)
{
try
{
AzureAdTokenCredentials tokenCredentials =
new AzureAdTokenCredentials(_AADTenantDomain,
new AzureAdClientSymmetricKey(_AMSClientId, _AMSClientSecret),
AzureEnvironments.AzureCloudEnvironment);
var tokenProvider = new AzureAdTokenProvider(tokenCredentials);
_context = new CloudMediaContext(new Uri(_RESTAPIEndpoint), tokenProvider);
// Add calls to methods defined in this section.
// Make sure to update the file name and path to where you have your media file.
IAsset inputAsset =
UploadFile(@"C:\VideoFiles\BigBuckBunny.mp4", AssetCreationOptions.None);
IAsset encodedAsset =
EncodeToAdaptiveBitrateMP4s(inputAsset, AssetCreationOptions.None);
PublishAssetGetURLs(encodedAsset);
}
catch (Exception exception)
{
// Parse the XML error message in the Media Services response and create a new
// exception with its content.
exception = MediaServicesExceptionParser.Parse(exception);
Console.Error.WriteLine(exception.Message);
}
finally
{
Console.ReadLine();
}
}
ПРИМЕЧАНИЕ. Приложениям также потребуется обновить свои ссылки, чтобы включить новую сборку «Microsoft.WindowsAzure.MediaServices.Client.Common.Authentication.dll
» и добавить ссылки на это пространство имен, а также ссылку на сборку «Microsoft.IdentityModel.Clients.ActiveDirectory
», чтобы получить доступ к интерфейсу ITokenProvider
.
Нажмите "Доступ к API" и выберите "
Подключитесь к API служб мультимедиа Azure с проверкой подлинности пользователя ».
Сюда входит конечная точка API, которую необходимо вызвать, а также ClientID, домен и ресурс.
Для получения дополнительных сведений о том, как подключиться к службам мультимедиа с помощью Azure AD, вы можете обратиться к этому статья.
person
Joey Cai
schedule
19.04.2018