我有一个Azure移动服务设置,并在线跟踪示例进行身份验证。我调用AuthenticationContext.AcquireToken并获取一个令牌。然后我使用:
设置标题HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”,AquireAccessToken());
但是我得到401回来了,在Azure日志中我得到了“不支持'承载'HTTP身份验证方案”。我错过了什么?
答案 0 :(得分:0)
移动服务不支持在Authorization标头中传递令牌。相反,请考虑使用POST method for the login endpoint。如果需要,Mobile Services SDK可以将其作为登录方法的重载。
您能评论一下您关注的例子吗?我们的标准"Get Started with Authentication" tutorial显示了如何在不直接处理访问令牌的情况下进行登录。我们还有使用提供程序SDK获取令牌并使用上述重载将其传递给移动服务的教程。例如,我们有Microsoft Account和Azure Active Directory
的本教程答案 1 :(得分:0)
如果您使用服务来呼叫移动服务,为什么不使用应用程序密钥而不是登录进程?
您可以在请求中设置标题,如下所示:
HttpClient.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", "<YOUR APP KEY>";
您可以从门户网站获取应用程序密钥。当您在仪表板视图中时,单击窗口底部的按钮以“管理密钥&#34;。
如果您要以服务身份登录,则此方法有效,但如果您需要代表用户登录,则需要执行身份验证路由。您还需要确保各种表和API的权限允许应用程序密钥级别的访问。
或者,您可以将 X-ZUMO-MASTER 标头与您的主密钥一起使用,以获得该服务的管理员权限。