Asp.net web api Azure移动服务、Auth0、Web Api和授权属性

Asp.net web api Azure移动服务、Auth0、Web Api和授权属性,asp.net-web-api,oauth,azure-mobile-services,bearer-token,Asp.net Web Api,Oauth,Azure Mobile Services,Bearer Token,对于移动应用程序Cordova&AngularJS,我使用Azure移动服务和Web Api。 我目前正在试验不同的OAuth实现,看看哪一个最适合我的需要。 尝试了ngCordova中的OAuth、OAuth.io、WAMS服务器流和WAMS委派的Auth0。 我还遇到了使用用于WebAPI的JsonWebToken DelegationHandler的选项。使用这种方法,我应该使用System.Web.Http.Authorize属性。当我调试JsonWebTokenValidationHa

对于移动应用程序Cordova&AngularJS,我使用Azure移动服务和Web Api。 我目前正在试验不同的OAuth实现,看看哪一个最适合我的需要。 尝试了ngCordova中的OAuth、OAuth.io、WAMS服务器流和WAMS委派的Auth0。 我还遇到了使用用于WebAPI的JsonWebToken DelegationHandler的选项。使用这种方法,我应该使用System.Web.Http.Authorize属性。当我调试JsonWebTokenValidationHandler时,一切看起来都很好,IsAuthenticated是true,等等,但最后返回了401。 我猜WAMS会覆盖用户主体。查看WAMS日志发现,不支持“承载”HTTP身份验证方案。一旦存在这样的身份验证令牌,它似乎就会被Azure移动服务拒绝


我的第一个想法是,我可能可以删除一个特定的消息处理程序,但事实似乎并非如此。有没有人有办法让WAMS实现这一点

另一篇帖子的问题与此非常相似:

您可以在标头中传递应用程序密钥,如下所示:

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

在该链接中,Matthew提到了有关如何进行用户身份验证的详细信息,并发布了有关如何正确设置用户身份验证的链接,您可能会发现这些链接很有价值。

我已经在使用此标头传递客户机密钥,但我试图在“授权级别”上使用“授权”属性,以便在环境方面更加灵活,不仅能够在azure移动服务上运行后端,而且能够在azure网站上运行后端。