多个系统需要接口的调用,sso多个外网的网站尤其像一个大公司有多个系统,每次进入都需要进行身份的验证,登录 > 如果使用OAuth2 和sso的话 系需要登录其中一个,其他的系统可以免登操作。
OAuth2中的4方面
栗子:在CSDN上进行微信授权登录
- 资源拥有方——user
- 资源方————微信-帮我们保管数据信息
- 资源请求方—— CSDN
- 授权方 ————OAuth2-独立的授权服务,帮助三方去完成登录
OAuth 2 的四种授权流程
- 授权码(authorization_code)
用户登录授权,先拿取code
用code换取token - 隐藏式(impicit)
用户登录授权,不拿去code,直接拿取token - 密码式(password)
提前给用户账号和密码,验证客户端,直接用用户名和密码拿取token - 客户端验证(client_credentials)
验证客户端,直接拿取token