1.Oauth2介绍
1.OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0是OAuth协议的延续版本。
2.第三方认证技术方案最主要是解决认证协议的通用标准 问题,因为要实现跨系统认证,各系统之间要遵循一定的接口协议。
3.OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。
4.Oauth协议目前发展到2.0版本,1.0版本过于复杂,2.0版本已得到广泛应用
参考:https://baike.baidu.com/item/oAuth/7153134?fr=aladdin
Oauth协议:https://tools.ietf.org/html/rfc6749
![](https://i-blog.csdnimg.cn/blog_migrate/d3b321e3092888b7df75b33aaa5a07b6.png)
Oauth2包括以下角色:
1、客户端 本身不存储资源,需要通过资源拥有者的授权去请求资源服务器的资源,比如:抢购在线Android客户端、抢购在 线Web客户端(浏览器端)、微信客户端等。
2、资源拥有者 通常为用户,也可以是应用程序,即该资源的拥有者。
3、授权服务器(也称认证服务器) 用来对资源拥有的身份进行认证、对访问资源进行授权。客户端要想访问资源需要通过认证服务器由资源拥有者授权后方可访问。
4、资源服务器 存储资源的服务器,比如,抢购网用户管理服务器存储了抢购网的用户信息等。客户端最终访问资源服务器获取资源信息。
2导入认证工程
关于oauth2.0服务搭建的详细流程,如果有兴趣可以参考课件中提供的oauth2.o搭建手册完成搭建。
将课件中oauth-server的工程导入到项目中去,如下图:
application.yml配置
![](https://i-blog.csdnimg.cn/blog_migrate/59511a17cb1afeab49c95a23dd8d128a.png)