【发布时间】:2018-01-12 18:44:13
【问题描述】:
我已为 Azure 函数启用 AAD 身份验证,然后尝试在 Web 应用程序中使用函数应用程序(HTTP 触发器),但出现未经授权的问题。 我还尝试通过创建函数代理来使用它,但问题仍然存在。 后续流程:
- 创建了两个 AD 应用程序(Web 应用程序、Azure Functions)并提供了 Azure Functions AD 对 Web App AD 的权限 创建了一个基本的 http触发功能
- 通过提供 Azure 的详细信息为 Azure Functions 启用身份验证 函数
-
创建了一个 Web 应用程序并在生成访问令牌期间,提供 Azure F 的客户端 ID、Web 应用程序的秘密和受众 URI(应用程序 ID) Unctions 广告。
ClientCredential clientCredential = new ClientCredential(ConfigurationManager.AppSettings["ida:ClientId"], ConfigurationManager.AppSettings["ida:SecretKey"]); AuthenticationContext authContext = new AuthenticationContext(Startup.Authority); AuthenticationResult result = await authContext.AcquireTokenAsync(ConfigurationManager.AppSettings["azrfunc:ResourceID"], clientCredential); string requestUrl = "https://xxxx.azurewebsites.net/api/HttpTriggerCSharp1?code=Gxxxxx==&name=xxxx"; // Make the GET request HttpClient client = new HttpClient(); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, requestUrl); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken); HttpResponseMessage response = client.SendAsync(request).Result;
【问题讨论】:
标签: azure-active-directory azure-functions azure-web-app-service