其中一个供应商API文档提到他们的API调用需要使用HTTP基本身份验证方案,即用户:密码Base64编码,但是,他们的令牌API(登录等效)文档提到“ .. this服务实现OAuth 2.0 - 资源所有者密码和凭据授予 “
HTTP基本身份验证与OAuth不同吗?
答案 0 :(得分:2)
是的,HTTP基本身份验证与OAuth 2.0不同。但是,Resource Owner Password Credentials Grant在section 4.3.1. Authorization Request and Response
所述的客户凭证的授权请求中使用了基本身份验证方案资源所有者密码凭据授权通常用于将旧系统转换为OAuth 2.0,并且不比Basic Authentication Scheme更安全。
资源所有者密码凭据授予在没有其他授权类型可用时使用,并且仅在资源所有者和OAuth客户端之间存在高度信任时使用。
答案 1 :(得分:2)
是的,他们俩都不一样。 Http Basic:这是用于身份验证,用户凭据经过编码,然后在HTTP标头中传递给客户端服务器。 HTTP Basic的基本示例:就像传统的Web应用程序一样,它要求用户提供凭据,并将这些凭据发送到HTTP头中的服务器。后来的服务器利用这些凭据对用户进行身份验证。
OAuth 2:这是授权,这里客户端服务器需要授权服务器授权用户数据(资源所有者)。 OAuth 2的基本示例:假设有一个在服务器上运行的在线游戏应用程序,用户访问了开始加载到用户浏览器中的应用程序。现在该应用程序要求用户授权在他的Facebook帐户上发布有关游戏的数据。在这里,用户授权他的应用程序通过OAuth Standard访问他的Facebook帖子。请参阅内部机制https://tools.ietf.org/html/rfc6749
答案 2 :(得分:2)
可以在状态环境中使用Basic access authentication
创建会话,并可以使用OAuth 2.0 Client Credentials Grant Type
访问服务。
但是,如果由于会话限制或无状态服务而不想使用会话,则可以使用Basic Authentication
来代替会话和sessionid
,而创建令牌。该令牌提供对服务的访问。