【发布时间】:2017-08-14 12:53:14
【问题描述】:
我正在构建简单的 Angular2 应用程序,给定用户可以通过 Microsoft Azure 媒体服务 REST API 上传视频。
我正在尝试使用此请求获取令牌:
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=client_credentials&resource=https://rest.media.azure.net/&client_id=<application id>&client_secret=<password you selected for authentication>" https://login.microsoftonline.com/<Azure AD Tenant ID>/oauth2/token?api-version=2.11
但它不能通过 AJAX 工作(那是因为 CORS),那么有没有其他简单的方法来获取仅限应用程序的令牌?
【问题讨论】:
-
由于 CORS,大多数现代浏览器都会阻止这种类型的调用。您将需要构建一个中间层 API,您的 AJAX 可以调用并通过 API 上的 CORS 设置信任您的 Web 应用程序。建议您考虑使用 Azure API 管理或 Azure Functions 作为自定义逻辑的主机。这也是保护用于调用媒体服务应用程序的服务主体凭据的好主意。
-
谢谢@johndeu 我想这将是最快的解决方案。
标签: azure azure-media-services azure-api-apps