OAuth(开放受权)是一个开放标准。容许第三方网站在用户受权的前提下访问在用户在服务商那里存储的各类信息。而这种受权无需将用户提供用户名和密码提供给该第三方网站。浏览器
OAuth容许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。服务器
一、参与者app
(1) Third-party application:第三方应用程序,又称客户端(client),如:"云冲印"、社交应用。网站
(2)HTTP service:HTTP服务提供商,如:百度网盘、腾讯。代理
(3)Resource Owner:资源全部者,如:网盘用户、QQ用户(user)。code
(4)User Agent:用户代理,浏览器。server
(5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。blog
(6)Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,能够是同一台服务器,也能够是不一样的服务器。token
二、运行机制ci
上面六个步骤之中,关键是步骤 B,即用户怎样才能给与客户端受权。有了这个受权之后,客户端就能够获取令牌,进而凭令牌获取资源。
三、OAuth2.0的四种受权模式(客户端的四种调用方式)
客户端必须获得用户的受权(authorization grant),才能得到令牌(access token)。OAuth 2.0定义了四种受权方式。