Tag: azure api apps

增加Azure Api应用程序中的最大请求长度

我创建了一个Azure Api应用程序,我将用它来上传文件。 这些文件将> 4mb,因此需要增加最大请求长度。 我在Web.config中添加了以下内容: 我还补充说: 然而,我仍然得到Maximum request length exceeded.的exceptionMaximum request length exceeded. 。 我错过了什么吗? 我还能尝试别的吗? 谢谢!

使用AAD对Azure API App进行身份validation时出现401错误

我有一个API应用程序,与网关主机一起工作正常,现在网关主机已被弃用我正在尝试遵循迁移指南 。 我使用2.8.1 SDK重新部署了我的服务,可以使用AAD或Microsoft帐户使用浏览器登录服务,并使用Swagger测试服务。 但是,我正在尝试让客户端使用ClientId和Secret访问该服务。 代码能够从AAD获取访问令牌,但每当我尝试访问其中一个服务资源时,我总是会收到401错误。 当我调试服务时,我在日志中看到以下内容: Microsoft.Azure.AppService.Authentication Verbose: 0 : Received request: GET https://[myService].azurewebsites.net/api/[myResource] Microsoft.Azure.AppService.Authentication Warning: 0 : JWT validation failed: IDX10214: Audience validation failed. Audiences: ‘https://[myService].azurewebsites.net/’. Did not match: validationParameters.ValidAudience: ‘[AAD ClientId]’ or validationParameters.ValidAudiences: ‘http://[myService].azurewebsites.net’. Microsoft.Azure.AppService.Authentication Information: 0 : Sending response: 401.71 Unauthorized The thread 0x3b00 has exited with code 0 (0x0). 似乎问题是提供请求的受众是https,但validParameters.ValidAudiences集合仅包含http。 […]

如何使用Azure Active Directory授权使用Azure REST API应用程序

我已经为Azure部署了一个API App ,但是如果身份validation(使用AAD)设置为ON,我在创建API客户端时遇到问题。 当我尝试生成服务客户端时(当身份validation为OFF时),然后生成客户端代码(使用Autorest完成)并且代码正在运行,但是当我将身份validation设置为ON时(以及当请求未经过身份validation时要执行的操作设置为Login with Azure Active Directory然后, Login with Azure Active Directory ) 1)服务呼叫返回401 Unauthorized (无需重定向到AAD登录页面) 2)然后我尝试再次生成服务客户端(从Project的上下文菜单 – >添加 – > REST API客户端 – >然后在我选择的对话框中选择“选择Azure资产”并按下确定并收到消息”Failed to download metadata file for Microsoft Azure API App: …app name…” (和”没有其他可用信息“) 我根据Azure手册(使用快速设置)实现了AAD: https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/ 正在根据这个video工作,这个video中显示的所有内容都在工作,除了AAD没有被certificate……对我来说它不起作用…… https://azure.microsoft.com/en-us/documentation/videos/connect-2015-what-s-new-in-app-service-api-apps/ 有什么建议? 编辑 1)如果我在Web浏览器中输入请求URL(REST API客户端使用) – 然后它返回有效结果2)我发现我使用的是没有凭据的REST API(我认为在这种情况下应该提供Azure AD登录屏幕……但它不是) 编辑2 我得到了一些进展 – 进入AAD登录界面,但输入凭据后我获得了bearer token […]

部署在Azure Web App / Azure API上时缺少CORS标头

我创建了一个OWIN托管的WebAPI 2 。 还有一个Web应用程序( AngularJS ),它使用API​​并充当客户端。 我已经将必要的CORS代码添加到Startup.cs ,并将其托管在不同于客户端的端口上的本地IIS中,并确认它修复了Cors问题。 然后,我将这两个应用程序部署到Azure(我已将两者都放在Azure上作为Web应用程序,我也尝试将OWIN放到当前处于预览状态的Azure API中)但是 – 预检请求现在失败了(没有Access-Control-Allow-Origin出现在响应中)。 问:我不知道Azure的某些特定内容吗? 为什么OWIN在部署时没有提供此标头,但是它正在使用localhost? 我在应用程序的Azure刀片设置的属性窗口中看不到任何约束。 笔记: 关于我正在使用的设置的一些细节: 使用Owin , WebAPI2 , Ninject , SignalR 在每个后续请求的头文件中发布并提供自定义令牌,并使用自定义filter进行validation。 我现在正在尝试的是* Startup.cs的相关部分: public void Configuration(IAppBuilder appBuilder) { appBuilder.UseCors(CorsOptions.AllowAll); HttpConfiguration config = new HttpConfiguration(); config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; //bind IClientsNotifier with method returning singleton instance of hub var ninjectKernel = NinjectWebCommon.GetKernel(); ninjectKernel.Bind().ToSelf().InSingletonScope(); […]

无法从Azure AD获取承载令牌以与API App一起使用

我有一个MVC应用程序需要访问Azure中受Azure AD身份validation保护的私有API应用程序。 因此,我需要获取Azure AD持有者令牌,将其转移到Zumo-Auth令牌并使用它来访问API应用程序。 我正在阅读本教程 ,一切正常,直到我需要从authContext请求令牌。 这是代码的片段: var authContext = new AuthenticationContext( “https://login.microsoftonline.com/MyADDomain.onmicrosoft.com”); ClientCredential credential = new ClientCredential( “04472E33-2638-FAKE-GUID-F826AF4928DB”, “OMYAPIKEY1x3BLAHEMMEHEHEHEHEeYSOMETHINGRc=”); // Get the AAD token. var appIdUri = “https://MyAppGateway-814485545465FAKE4d5a4532cd.azurewebsites.net/login/aad”; //var appIdUri = “https://MyADDomain.onmicrosoft.com/MyAppName”; //var appIdUri = “https://MyADDomain.onmicrosoft.com/”; //var appIdUri = “https://graph.windows.net”; AuthenticationResult result = authContext.AcquireToken(appIdUri, credential); // <– can't get the token from AD // […]

Azure API身份validation

我在C#代码中使用Azure API并在库下使用 using Microsoft.Rest; using Microsoft.Rest.Azure.Authentication; using Microsoft.Azure.Management.DataLake.Store; using Microsoft.Azure.Management.DataLake.StoreUploader; using Microsoft.Azure.Management.DataLake.Analytics; using Microsoft.Azure.Management.DataLake.Analytics.Models; using Microsoft.WindowsAzure.Storage.Blob; 要创建与Azure的连接, private static ServiceClientCredentials AuthenticateAzure(string domainName, string nativeClientAppCLIENTID) { // User login via interactive popup SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); // Use the client ID of an existing AAD “Native Client” application. var activeDirectoryClientSettings = ActiveDirectoryClientSettings.UsePromptOnly(nativeClientAppCLIENTID, new Uri(“urn:ietf:wg:oauth:2.0:oob”)); return UserTokenProvider.LoginWithPromptAsync(domainName, activeDirectoryClientSettings).Result; } […]

Azure – 删除ADLS文件时出现ADlsError / WebHDFS错误

我正在使用C#进行ADLS身份validation,并希望执行一些文件操作,如删除,重命名。 使用以下代码进行身份validation和删除操作 var context = new AuthenticationContext(“https://login.windows.net/” + tenantId); ClientCredential clientCredential = new ClientCredential(appId, secretKey); var tokenResponse = context.AcquireTokenAsync(“https://management.azure.com/”, clientCredential).Result; var accessToken = tokenResponse.AccessToken; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Add(“Authorization”, “Bearer ” + accessToken); client.BaseAddress = new Uri(“https://management.azure.com/”); } ServiceClientCredentials creds = new TokenCredentials(tokenResponse.AccessToken);// tokenResponse.IdToken, tokenResponse.AccessTokenType); DataLakeStoreFileSystemManagementClient _adlsFileSystemClient = new DataLakeStoreFileSystemManagementClient(creds); _adlsFileSystemClient.FileSystem.Delete(_adlsAccountName, FilenameWPath); […]