我经历的https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-dotnet-backend-how-to-use-server-sdkAzure的移动应用重定向HTTP POST调用时启用Azure中的Active Directory身份验证以获取
发现Azure的移动应用后端教程的.NET部分我把一切都建立很好地与默认示例TodoItemController
。通过在PostToDoItem
控制器方法中添加代码,我添加了推送通知作为instructed。
一旦我得到一个成功的推送通知我Xamarin.Forms移动应用程序:
但是,当我在移动应用程序服务中启用Azure Active Directory身份验证时,在“允许匿名请求(无操作)”的情况下,我不能再向Postman发送POST呼叫。更具体地说,它看起来像应用程序服务收到POST请求,但立即重定向它,而不是产生一个GET请求。这会导致控件中的GetAllToDoItems方法被调用,而不是PostToDoItem方法。我看到这个日志流:
> 2017-05-31T01:33:46 PID[4292] Verbose Received request: POST
> http://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0
> 2017-05-31T01:33:46 PID[4292] Information Redirecting:
> https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0
> 2017-05-31T01:33:46 PID[4292] Verbose Received request: GET
> https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0
> 2017-05-31T01:33:46 PID[4292] Verbose [Routes(Preview)] No
> authorization configuration was found. 2017-05-31T01:33:46 PID[4292]
> Information Request, Method=GET,
> Url=https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0,
> Message='https://XYZ.azurewebsites.net/tables/TodoItem?ZUMO-API-VERSION=2.0.0'
> 2017-05-31T01:33:46 PID[4292] Information Message='TodoItem',
> Operation=DefaultHttpControllerSelector.SelectController
> 2017-05-31T01:33:46 PID[4292] Information
> Message='XYZService.Controllers.TodoItemController',
> Operation=DefaultHttpControllerActivator.Create 2017-05-31T01:33:46
> PID[4292] Information
> Message='XYZService.Controllers.TodoItemController',
> Operation=HttpControllerDescriptor.CreateController
> 2017-05-31T01:33:46 PID[4292] Information Message='Selected action
> 'GetAllTodoItems()'',
> Operation=ApiControllerActionSelector.SelectAction
我已经期待POST调用的工作方式相同,因为我对Azure的时候匿名请求进来不采取任何行动,当我有应用服务的身份验证设置为OFF我在这里误解了什么?提前致谢!
非常感谢!我一直在考虑这个问题,直到我经历这些步骤时,我甚至没有注意到我使用的是HTTP而不是HTTPS! – Rowbear