OAuth 资源所有者密码流和 HMAC
OAuth resource owner password flow and HMAC
我有一个 Web api 应用程序,它实现了来自 OAuth 规范的资源所有者密码流程。一切正常。
实际上,我在我的 WebApiConfig class 中配置了所有内容,方法是使用这样的身份验证过滤器
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add( new HostAuthenticationFilter( OAuthDefaults.AuthenticationType ) );
由于我的一些客户要求使用不同的身份验证方法,我正在评估是否要为我的服务添加一些功能,但仍然不清楚这些功能如何协同工作。
特别是我遇到了一个 link,它用非常简单的语言解释了如何在网络中实现 HMAC 身份验证 api。
我可以实现这种认证方式,让客户自己选择使用哪一种吗?他们能凝聚在一起吗?
是的,您的网络 api 服务可以在 WWW-Authenticate
质询中发回多个方案。例如,在您的情况下,它可以发回“bearer”和“hmac”。
另请参阅 this question 了解有关使用多个方案的更多信息。
顺便说一句,支持资源所有者密码流的不是您的 Web api 服务。客户端使用此流程从授权服务器获取令牌,它可以在承载方案中与您的服务(资源服务器)一起使用。 HTH.
我有一个 Web api 应用程序,它实现了来自 OAuth 规范的资源所有者密码流程。一切正常。
实际上,我在我的 WebApiConfig class 中配置了所有内容,方法是使用这样的身份验证过滤器
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add( new HostAuthenticationFilter( OAuthDefaults.AuthenticationType ) );
由于我的一些客户要求使用不同的身份验证方法,我正在评估是否要为我的服务添加一些功能,但仍然不清楚这些功能如何协同工作。
特别是我遇到了一个 link,它用非常简单的语言解释了如何在网络中实现 HMAC 身份验证 api。
我可以实现这种认证方式,让客户自己选择使用哪一种吗?他们能凝聚在一起吗?
是的,您的网络 api 服务可以在 WWW-Authenticate
质询中发回多个方案。例如,在您的情况下,它可以发回“bearer”和“hmac”。
另请参阅 this question 了解有关使用多个方案的更多信息。
顺便说一句,支持资源所有者密码流的不是您的 Web api 服务。客户端使用此流程从授权服务器获取令牌,它可以在承载方案中与您的服务(资源服务器)一起使用。 HTH.