我創建了一個暴露api的azure移動應用程序。我已經註冊了Microsoft帳戶身份驗證的移動應用程序。當我登錄到我的Windows帳戶後,當我從郵遞員甚至Microsoft邊緣訪問它時,移動應用程序正在工作。
移動應用程序是通用Windows應用程序的後端。我遵循了樣板微軟示例(Add Authentication to UWA)。登錄網站的代碼運行良好(它可以檢索我存儲的憑據或者讓我登錄到Microsoft帳戶服務器)。憑證存儲在MobileServiceClient實例的CurrentUser中。未經授權從Azure移動應用程序返回到Windows通用應用程序
這是一個控制器的例子。
[MobileAppController]
[Authorize]
public class TeamsController : ApiController
{
private GameNoteContext db = new GameNoteContext();
[HttpGet, Route("api/Teams")]
// GET: api/Teams
public IQueryable<Team> GetTeams()
{
return db.Teams;
}
客戶端調用用下面的代碼的API: // myuri是控制器,param是查詢字符串作爲字典對象 變種響應=等待client.InvokeApiAsync(myuri,System.Net.Http .HttpMethod.Get,param);
生成的請求是正確的,似乎有正確的標題。我可以將它們複製到郵遞員中,並得到正確的回覆。但是從我的客戶端(從視覺工作室運行)我沒有被授權。這是從客戶端發送的請求正文:
X-ZUMO-FEATURES: AT,QS
X-ZUMO-INSTALLATION-ID: theidiscorrect
X-ZUMO-AUTH: atokenappearshere
Accept: application/json
User-Agent: ZUMO/2.1
User-Agent: (lang=Managed; os=Windows Store; os_version=--; arch=X86; version=2.1.40707.0)
X-ZUMO-VERSION: ZUMO/2.1 (lang=Managed; os=Windows Store; os_version=--; arch=X86; version=2.1.40707.0)
ZUMO-API-VERSION: 2.0.0
Accept-Encoding: gzip
我不知道接下來要嘗試什麼。
在日誌的幫助下,浪費了大量的時間來修復那些沒有損壞的東西,我想我已經找到了我真正的問題。 –