概述
权限校验是系统安全的基本保障。
目前大多都是使用token
传递用户的信息,oauth2
的核心也是获取token
,对于如何获取token
则是有4
种方式。
不同的系统校验方式也不同,所以用oauth2
的标准来实现,对于后续第三方应用的对接,扩展都是挺方便的.
oauth2方式
- 授权码模式
比如微信,先请求获取code
,然后重定向把code
带回来,接着通过code
和secret
(用户事前在资源端维护的信息)获取token
- 隐藏式
少了获取code
那一步
比如A
网站想获取B
网站的用户信息,用户在A
点击按钮跳转到B
,在B
登录后拿到B
的token
,再重定向返回A
- 密码式
这个更简单
比如A
要获取B
的信息,直接把用户在B
的账号密码给A
使用,A
直接模拟登录获取token
。
针对的是用户,一般获取的也是用户相关的资源
- 凭证式
这个和密码式差不多,只是A
应用(不是用户)要在B
那边登记,在想获取B
的资源的时候,A
直接用自己的id+secret
拿到token
,这里A
的token
是公用的,A
应用里的所有用户都能用。
针对的是应用,获取的大多是公共信息