简述OAuth2概念
1. 什么是OAuth
开放权限(Open Authorization, OAuth) 是一种资源提供商用于授权第三方应用代表资源所有者获取有限访问权限的授权机制。由于在整个授权过程中,第三方应用都无须触及用户的密码就可以取得部分资源的使用权限,所以OAuth是安全开放的。
2. OAuth1和OAuth2
为什么很少看到有OAuth1的使用呢,那是由于OAuth1.0复杂的签名逻辑以及单一的授权流程存在较大的缺陷,所以OAuth1.0已经基本退出历史舞台了。
3. Oauth2的运行流程
3.1 Oauth2运行流程的4个重要角色
Resource Owner: 资源所有者,通常指用户,例如每一个QQ用户。Resource Server: 资源服务器,指存放用户受保护资源的服务器,通常需要通过Access Token(访问令牌)才能进行访问。例如存储用户信息的服务器便是充当资源服务器的角色。Client: 客户端,指需要获取用户资源的第三方应用。Authorization Server: 授权服务器,用于验证资源所有者,并在验证成功后向客户端发放相关访问令牌。
1. 什么是OAuth
开放权限(Open Authorization, OAuth) 是一种资源提供商用于授权第三方应用代表资源所有者获取有限访问权限的授权机制。由于在整个授权过程中,第三方应用都无须触及用户的密码就可以取得部分资源的使用权限,所以OAuth是安全开放的。
2. OAuth1和OAuth2
为什么很少看到有OAuth1的使用呢,那是由于OAuth1.0复杂的签名逻辑以及单一的授权流程存在较大的缺陷,所以OAuth1.0已经基本退出历史舞台了。
3. OAuth2的运行流程
3.1 OAuth2运行流程的4个重要角色
Resource Owner: 资源所有者,通常指用户,例如每一个QQ用户。Resource Server: 资源服务器,指存放用户受保护资源的服务器,通常需要通过Access Token(访问令牌)才能进行访问。例如存储用户信息的服务器便是充当资源服务器的角色。Client: 客户端,指需要获取用户资源的第三方应用。Authorization Server: 授权服务器,用于验证资源所有者,并在验证成功后向客户端发放相关访问令牌。

在这个流程中,Authorization Grant是最为关键的一步,OAuth2定义了4种授权模式,用于将用户的授权许可提供给客户端。