使用aad的Azure移动服务“不支持'承载'HTTP身份验证方案”错误
我有一个Azure移动服务设置,并且已经在线示例进行身份验证。我调用AuthenticationContext.AcquireToken并获取一个令牌。然后,我使用以下设置标题:使用aad的Azure移动服务“不支持'承载'HTTP身份验证方案”错误
HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(“Bearer”,AquireAccessToken());
但是我得到一个401返回,并且在Azure日志中,我得到了'The'承载'HTTP认证方案不受支持“。我错过了什么?
如果您正在使用服务来调用移动服务,为什么不使用应用程序密钥而不是登录过程?
您可以在您的要求设置一个头,像这样:
HttpClient.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", "<YOUR APP KEY>";
你可以从你的门户应用的关键。当您在仪表板视图上单击窗口底部的按钮以“管理密钥”。
如果您想要登录为服务,但是如果您需要代表用户登录,那么您需要登录认证路线。您还需要确保各种表和API的权限允许应用程序密钥访问级别。
或者,您可以使用带主密钥的X-ZUMO-MASTER标头获得服务的管理权限。
移动服务不支持在授权标头中传递令牌。相反,请考虑使用POST method for the login endpoint。如果需要,移动服务SDK将使其成为登录方法的重载。
您能否评论一下您正在使用的示例?我们的标准"Get Started with Authentication" tutorial显示了如何在不直接处理访问令牌的情况下进行登录。我们也有使用提供商SDK获取令牌并使用上述过载将其传递给移动服务的教程。例如,我们有本教程Microsoft Account和Azure Active Directory
移动服务将从几个不同的应用程序中调用,但我正在使用的第一个服务是一项服务。我正在使用[MSDN示例]中的示例(http://msdn.microsoft.com/zh-cn/library/azure/dn646737.aspx#BKMK_Daemon)。是否有无人值守服务的代码示例?我得到了登录部分,但是如何在通过身份验证的请求上传递authenticationToken?谢谢你的帮助! – jimox 2014-09-23 00:45:55
由于我之前提到的方法而具有移动服务令牌后,您可以在调用服务时将其传递给X-ZUMO-AUTH头。 – mattchenderson 2014-09-23 16:45:11