OAuth 认证方式有多种,但常用的有两种
- Password
- Authorize Code
Password 方式
这种方式比较简单,就是把用户名和密码传递给认证平台,认证平台返回 token。
比如我们使用github
,把在github
上注册的用户名密码传给github
,github
认证后返回token
。
但这有个很明显的弊端:就是当前系统可以知道你在 github 上的账号密码,比较不安全。
Authorize Code
这种方式和Password
方式最大的区别就是,这个登录是在认证平台(github
)提供的登录页面,也就是在github
的网站进行登录和验证,验证通过后返回一个code
,然后系统拿着这个code
再去认证平台获取token
。
这种方式比较安全,当前网站无法接触到你在认证平台上的任何信息。