我經歷的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