Authentication OAuth资源所有者密码流和HMAC

Authentication OAuth资源所有者密码流和HMAC,authentication,asp.net-web-api,asp.net-web-api2,hmac,Authentication,Asp.net Web Api,Asp.net Web Api2,Hmac,我有一个web api应用程序,它实现了OAuth规范中的资源所有者密码流。一切正常 实际上,我通过使用这样的身份验证过滤器来配置WebApiConfig类中的所有内容 // Configure Web API to use only bearer token authentication. config.SuppressDefaultHostAuthentication(); config.Filters.Add( new HostAuthenticationFilter( OAuthDefa

我有一个web api应用程序,它实现了OAuth规范中的资源所有者密码流。一切正常

实际上,我通过使用这样的身份验证过滤器来配置WebApiConfig类中的所有内容

// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add( new HostAuthenticationFilter( OAuthDefaults.AuthenticationType ) );
由于我的一些客户要求使用不同的身份验证方法,我正在评估为我的服务添加几个功能,但仍然不清楚这些功能如何协同工作

特别是,我跨越了一个非常简单的语言解释了如何在WebAPI中实现HMAC身份验证


我是否可以实现此身份验证方法并让客户端选择要使用的身份验证方法?它们可以粘合在一起吗?

是的,您的web api服务可以在
WWW-Authenticate
挑战中发回多个方案。例如,在您的情况下,它可以发回“承载人”和“hmac

有关使用多个方案的更多信息,请参见

顺便说一句,支持资源所有者密码流的不是您的web api服务。客户机使用此流从授权服务器获取令牌,该令牌可以在承载方案中与您的服务(资源服务器)一起使用。嗯