背景
目前大型系统会包含多个项目,希望能在一个项目,或一个地方登陆,该系统中所有的可信项目都可以免于登陆。而第三方认证登录是实现单点登录一个比较好的方式。
第三方登录,是指自己的本系统不提供登陆功能,不需要用户注册时填写各项信息,而是对接当前第三方用户量比较大的应用,比如微信,来完成认证登陆。一旦完成认证登陆后,微信会把用户在微信的信息,同步到自己的系统中。
这样,即免于自己实现登陆,也免于自己实现用户信息注册。
提供第三方认证登录的公司不愿意为按每家需要第三方认证的公司的标准定制一套协议,所以有了统一协议 oauth.
oauth协议里有四个角色
- 资源拥有者,一般指用户自己
- 客户端,资源拥有者(用户)使用的应用
- 认证服务器,客户端请求第三方认证的地方
- 资源服务器,资源拥有者(用户)资源存放的地方
oauth协议工作时序
通过这样的方式就可以完成一个用第三方认证登陆实现的单点登录
实现起来也很简单,就两个步骤
常规操作步骤
- 搭建认证服务器。
- 将某些服务