3

私はデフォルトとうまくすべてのセットアップを得た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認証が有効になっているときにGETするために呼び出す

で発見Azureのモバイルアプリのバックエンドのチュートリアルの.NETの部分を通って行きますよ例TodoItemController。コントローラメソッドPostToDoItemにコードを追加して、プッシュ通知をinstructedと追加しました。

私はその後、ポストマンを使用して、簡単な新しいアイテムを入れてPOST呼び出しをテストした:

enter image description here

:私は私のXamarin.Formsでモバイルアプリを成功プッシュ通知を取得した際にenter image description here

ただし、モバイルアプリケーションサービスでAzure Active Directory認証を有効にしているときに、「匿名リクエストを許可(アクションなし)」にしておくと、PostmanとのPOST呼び出しを送信できなくなりました。具体的には、Appサービスが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の呼び出しは、私がOFFに設定アプリのサービスの認証を持っているときと同じように動作するように期待ただろう私はここで何かを誤解していますか?前もって感謝します!我々はHTTPプロトコルを使用して要求を送信する場合

答えて

3

我々はアプリのサービスのための認証/認可を有効にした後、サーバーは302応答を経てHTTPSにリダイレクトされます。それは、このシナリオで動作させるために

、あなたの代わりにHTTPHTTPSプロトコルを使用して要求を送信することができます。これは、匿名リクエスト(アクションなし)機能を有効にする場合に有効です。

+0

ありがとうございました!私はこれをずっと見ていて、私がステップを進んでいる間にHTTPSではなくHTTPを使用していたことに気付かなかったのです! – Rowbear

関連する問題