OAuth2在项目中使用完成的功能说明|学习笔记

简介: 快速学习OAuth2在项目中使用完成的功能说明

开发者学堂课程【Spring Security知识精讲与实战演示(四)OAuth2在项目中使用完成的功能说明】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/733/detail/13078


OAuth2在项目中使用完成的功能说明

 

OAuth2在这些流程中扮演的角色,大概的流程是什么。要注意这里有a系统, b系统。是在a系统中做操作,还是在b系统中做操作?不管是a系统,b系统,它都有认证操作的功能,那现在微服务这么流行,分布流行,一般可以认为不管是a系统还是b系统,都有一个认证的一个微服务。如下图

 image.png

这个是认证,下边是资源,资源有很多,这个是资源维护,是每一个具体的操作,这里就来说一下服务器。这个服务器里有很多认证、资源,现在认证只需要一个,因为认证登录,一次登录所有地方都可以用,很多地方都能用。

接下来要做事情,现在a系统与b系统,要使用b系统,肯定用的是资源,因为它不需要认证,有token就可以直接来访问,不需要认证,认证一般是用户认证,不是给系统认证,所以这里不需要去认证,a系统想访问b系统的资源,只需要拿token就可以,注意,a系统要想直接操作b系统的资源,除了得到用户的认可之外,a系统要能拿到b系统的操作权限。如果a系统本来跟b系统就完全没有关系,该怎么去拿它里面的照片?所以事先a系统必须跟b系统有一个对接,而这个对接就是a系统要调b系统中打印照片,是照片列表的一个接口,拿到这个照片它必须要有一个对接,没有对接用户即便是答应去操作,那也不能操作,而a系统要跟b系统对接时,b系统要存储a系统的信息。

b系统存储a系统的信息,一般情况下,a系统称之为客户端,认为b系统公司是a系统的一个客户,因为它想用东西,但是有可能要交钱,所以它是一个客户,那b系统一定要存储信息,接下来,a系统要去访问b系统里的资源,要通过认证,在认证服务中给a系统颁发token,访问认证系统来得到,换言之,这就是服务端,OAuth2有两个端,一个是服务端,另一个是资源端,以后就成为一个OAuth2的资源端,只要认为b系统从b系统的认证服务中得到了一个OAuth2,注意这个token是颁发的,凡是它下属的资源是有对应关系,对应关系到具体代码的时候才能收到,那只要是它对应的下面的所有的资源,a系统就可以直接来访问,那通过这大家就会清楚两个信息

第一,使用的地方已经知道,是在b系统中使用,不是在a系统中,就是要用到b系统中。在b系统中,认证微服务中,要把它做成OAuth2的一个认证服务端。那其他服务当然需要让有可能要被其他系统访问到的资源可以作为OAuth2中的一个资源端,每一个资源都会有一个,这是第一个要知道的信息。第二个要知道的信息是b系统要存储a系统的信息,还有用户的信息,用户的信息就是注册了系统就有用户信息,但是用户,一般称之为a系统的客户,就是客户端,注意:b系统要存储a系统的信息,那要存到什么地方?首先spring的OAuth2提供了一种方案,可以往内存中存储,换言之,可以写死的代码中这种方案很显然是不行的,因为大家都知道,比如说微信登录,这个b系统现在就是微信,如果想用微信登录,必须去微信公众号上去申请一个客户端账号才可以,如果不申请这个客户端账号,就无法使用微信进行三方登录。要申请微信就要记录信息,如果信息是在代码中记录,那每次申请那么多公司都用微信登录,那每一次的申请微信都要去修改代码,显然是不可行的。但自己写一个小的案例demo其实是可以的,如果真的是企业级的开发,客户信息一定会存储在数据库。或者是最次也要存储到reads中,所以这里选择使用存储数据库用于企业开发。客户端信息一般都存储在数据库中,当然也可以存储在其他地方,通常都是存储在数据库中。要往数据库存储a系统的信息,就必须要知道该怎么存。因为服务端,资源端都不是自己写的,都是spring帮我们做的,既然是它帮我们做,那表结构自己也无法定义,肯定是它准备好的。

相关文章
|
14天前
|
数据安全/隐私保护
OAuth2.0实战案例
OAuth2.0实战案例
27 0
OAuth2.0实战案例
|
5月前
|
JSON 安全 Java
Spring Security 6.x 微信公众平台OAuth2授权实战
上一篇介绍了OAuth2协议的基本原理,以及Spring Security框架中自带的OAuth2客户端GitHub的实现细节,本篇以微信公众号网页授权登录为目的,介绍如何在原框架基础上定制开发OAuth2客户端。
204 4
Spring Security 6.x 微信公众平台OAuth2授权实战
|
5月前
|
安全 Java Spring
教程:在Spring Boot应用中集成OAuth 2.0认证
教程:在Spring Boot应用中集成OAuth 2.0认证
|
6月前
|
安全 Java 数据库
后端进阶之路——Spring Security构建强大的身份验证和授权系统(四)
后端进阶之路——Spring Security构建强大的身份验证和授权系统(四)
|
11月前
|
安全 Java API
盘点认证框架 : SpringSecurity 基础篇
SpringSecurity 应该是最常见的认证框架了 , 处于Spring体系中使他能快速地上手 , 这一篇开始作为入门级开篇作 , 来浅浅地讲一下SpringSecurity 的整体结构.
|
移动开发 小程序 安全
Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战(二)
Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战(二)
Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战(二)
|
安全 Cloud Native Java
Spring与OAuth2:实现第三方认证和授权的最佳实践
Spring与OAuth2:实现第三方认证和授权的最佳实践
201 0
|
安全 前端开发 小程序
Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战(一)
Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战(一)
|
存储 前端开发 数据安全/隐私保护
十五.SpringCloud+Security+Oauth2实现微服务授权 -前端登录实战
SpringCloud+Security+Oauth2实现微服务授权 -前端登录实战