我创建了一个暴露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
我不知道接下来要尝试什么。
在日志的帮助下,浪费了大量的时间来修复那些没有损坏的东西,我想我已经找到了我真正的问题。 –