Azure移动服务使用aad" The Bearer'不支持HTTP身份验证方案"错误

时间:2014-09-22 05:33:16

标签: azure azure-mobile-services

我有一个Azure移动服务设置,并在线跟踪示例进行身份验证。我调用AuthenticationContext.AcquireToken并获取一个令牌。然后我使用:

设置标题

HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”,AquireAccessToken());

但是我得到401回来了,在Azure日志中我得到了“不支持'承载'HTTP身份验证方案”。我错过了什么?

2 个答案:

答案 0 :(得分:0)

移动服务不支持在Authorization标头中传递令牌。相反,请考虑使用POST method for the login endpoint。如果需要,Mobile Services SDK可以将其作为登录方法的重载。

您能评论一下您关注的例子吗?我们的标准"Get Started with Authentication" tutorial显示了如何在不直接处理访问令牌的情况下进行登录。我们还有使用提供程序SDK获取令牌并使用上述重载将其传递给移动服务的教程。例如,我们有Microsoft AccountAzure Active Directory

的本教程

答案 1 :(得分:0)

如果您使用服务来呼叫移动服务,为什么不使用应用程序密钥而不是登录进程?

您可以在请求中设置标题,如下所示:

HttpClient.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", "<YOUR APP KEY>";

您可以从门户网站获取应用程序密钥。当您在仪表板视图中时,单击窗口底部的按钮以“管理密钥&#34;。

如果您要以服务身份登录,则此方法有效,但如果您需要代表用户登录,则需要执行身份验证路由。您还需要确保各种表和API的权限允许应用程序密钥级别的访问。

或者,您可以将 X-ZUMO-MASTER 标头与您的主密钥一起使用,以获得该服务的管理员权限。