什么是OAuth协议?
Oauth是一个授权协议,让用户在不将服务提供商的用户名密码交给第三方应用的情况下,让第三方应用有权限访问用户在服务提供商中存在的一些资源,由于在这个过程中并没有提供用户名、密码给第三方应用,进而避免了一下三个问题:
1. 第三方应用可以访问用户在服务提供商上的所有信息
2. 用户只有修改密码,才可以取回授权
3. 密码泄露的可能性大大提高
举个例子:登录优快云可以使用QQ第三方登录,那么优快云需要获取你在QQ上的基本信息(方然不包括登录名和密码),那么在这个动作中,服务提供商就是QQ,因为用户的基本信息在QQ上了,第三方应用就是优快云,它需要再你同意授权的情况下去向QQ申请你的基本信息;
OAuth流程
1. 基本流程
介绍:在第三方应用获得用户同意后,会向服务提供商的认证服务器请求token(授权令牌),获得token后,可以向服务提供商的资源服务器发送带有token的请求,获取用户在服务提供商上的信息。
2. 根据用户同意授权的不同,可以分为四种模式
2.1. 授权码模式(最安全、最普遍的)
该模式下,用户的授权是在服务提供商的认证服务器上完成的;同时,第三方应用需要在获取授权码之后,根据授权码来请求授权令牌。
2.2. 密码模式
2.3. 简单模式
2.4.