HTTP基本身份验证和OAuth 2.0是否相同?

时间:2017-07-31 09:07:45

标签: authentication oauth oauth-2.0 http-basic-authentication

其中一个供应商API文档提到他们的API调用需要使用HTTP基本身份验证方案,即用户:密码Base64编码,但是,他们的令牌API(登录等效)文档提到“ .. this服务实现OAuth 2.0 - 资源所有者密码和凭据授予

  

HTTP基本身份验证与OAuth不同吗?

3 个答案:

答案 0 :(得分:2)

是的,HTTP基本身份验证与OAuth 2.0不同。但是,Resource Owner Password Credentials Grantsection 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,而创建令牌。该令牌提供对服务的访问。