OAuth是一个开发标准,该标准可以允许用户提供第三方应用访问某一网站存储的私密资源(如:视频,照片,头像等)
OAuth2中的几个基本角色:
资源所有者:资源所有者即用户,具有头像,照片,视频等资源
客户端:客户端即第三方应用,列如知乎,QQ等
授权服务器:授权服务器用来验证用户提供的信息是否正确,并返回一个令牌给第三方应用
资源服务器:资源服务器是提供给用户资源的服务器,列如头像,照片,视频等.
一般资源服务器和授权服务器可以是同一台服务器。
OAuth2授权流程
1.客户端(第三方)向用户请求授权
2.用户单击客户端所呈现的服务授权页面上的同意授权按钮后,服务端返回一个授权许可证给客户端
3.客户端拿到授权许可证凭证去授权服务器申请令牌
4.授权服务器验证信息无误后,发放令牌给客户端
5.客户端拿着令牌去资源服务器访问资源
6.资源服务器验证令牌无误后开发资源
授权模式(四中模式)
1.授权码模式:授权码模式(authorization code)是功能完整,流程最严谨的授权模式。它的特点就是通过客户端的服务器于授权服务器进行交互,国内常见的第三方登录平台基本使用这种模式。
2.简化模式:简化模式不需要客户端与服务器参与,直接在游览器中向授权服务器申请令牌,一般都网站是纯静态页面,则可以采用。
3.密码模式:密码模式是用户吧用户名密码直接告诉客户端,客户端使用这些信息向授权服务器申请令牌,这需要用户对客户端高度信任,列如客户端应用和服务提供同一家。
4.客户端模式:客户端模式是值客户端使用自己的名义而不是用户的名义向服务提供者申请授权。严格来说,客户端模式并不能算作Oauth协议要解决的问题一种解决方案,但是,对于开发者而言,在一些前后端完全分离应用和移动端提供的认证授权服务器上使用非常方便。
具体实现小编最后出现了错误,下面附上代码,如果大家下载后发现可以运行或者解决了问题,一定告诉小编
链接:https://pan.baidu.com/s/1KdUneT66QZOcCck2S4OqEQ
提取码:5pid