JWT:JSON Web Token
Oauth:Open Authorization
jwt是基于token的认证协议的实现,OAuth2是一种授权框架,提供了一套详细的授权机制(指导)。
jwt的基本思路就是用户提供用户名和密码给认证服务器,服务器验证用户提交信息信息的合法性;如果验证成功,会产生并返回一个Token(令牌),用户可以使用这个token访问服务器上受保护的资源。
Oauth的几种授权模式:
授权码模式(Authorization Code)(正统方式)(支持refresh token)
授权码简化模式(Implicit)(为web浏览器设计)(不支持refresh token)
Pwd模式(Resource Owner Password Credentials) (基本不用)(支持refresh token)
Client模式(Client Credentials) (为后台api调用设计)(不支持refresh token)
扩展模式(Extension)(自定义模式)
Oauth的几个概念:
Roles角色
应用程序或者用户都可以是下边的任何一种角色:
资源拥有者
资源服务器
客户端应用
认证服务器
Client Types客户端类型
这里的客户端主要指API的使用者。它可以是的类型:
私有的
公开的
Client Profile客户端描述
OAuth2框架也指定了集中客户端描述,用来表示应用程序的类型:
Web应用
用户代理
原声应用
Authorization Grants认证授权
认证授权代表资源拥有者授权给客户端应用程序的一组权限,可以是下边几种形式:
授权码
隐式授权
资源拥有者密码证书
客户端证书
Endpoints终端
OAuth2框架需要下边几种终端:
认证终端
Token终端
重定向终端