当前位置: 首页 > news >正文

北京正规网站建设公司品牌营销推广方案

北京正规网站建设公司,品牌营销推广方案,做网站是怎么赚钱,dw网页制作怎么改字体大小Spring Authorization Server为构建安全的SpringBoot应用提供了一系列解决方案,本节课程我们将结合OAuth2来实现认证服务,该认证服务将支持常用的OAuth2授权模式和刷新Token。 Spring Authorization Server简介 Spring Authorization Server是一个安全框架,它提供了OAuth 2.…

Spring Authorization Server为构建安全的SpringBoot应用提供了一系列解决方案,本节课程我们将结合OAuth2来实现认证服务,该认证服务将支持常用的OAuth2授权模式和刷新Token。

Spring Authorization Server简介

Spring Authorization Server是一个安全框架,它提供了OAuth 2.1和OpenID Connect 1.0规范以及其他相关的实现。Spring Authorization Server是在Spring Security的基础上构建的,它为构建OAuth2授权服务和OpenID Connect 1.0身份提供者提供了一个安全、轻量级、可定制的基础。

OAuth2基本概念

在使用Spring Authorization Server之前,我们需要先对OAuth2有个大致了解,这里我们先来学习下。

简介

OAuth2协议定义了一系列关于认证授权的标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息。目前主流第三方平台提供的授权登录基本都是基于Oauth2协议的,例如微信、QQ、GitHub和Gitee等。而我们要学习的Spring Authorization Server也是基于OAuth2协议的。

相关名词

  • 资源拥有者(Resource owner):拥有该资源的最终用户,他拥有访问资源的账号密码。
  • 资源服务器(Resource server):拥有受保护资源的服务器,如果请求包含正确的访问令牌,可以访问资源。
  • 客户端(Client):访问资源的客户端,会使用访问令牌去获取资源服务器的资源,可以是浏览器、移动设备或者服务器。
  • 认证服务器(Authorization server):用于认证用户的服务器,如果客户端认证通过,发放访问资源服务器的令牌。

授权模式

  • 授权码模式(Authorization Code Grant):功能最完整、流程最严密的Oauth2授权模式。客户端先将用户导向认证服务器,登录后获取授权码,然后进行授权,最后根据授权码获取访问令牌。
  • PKCE授权码模式(Proof Key for Code Exchange):授权码模式的扩展模式,使用授权码授权的OAuth2公共客户端容易受到授权码拦截攻击的影响,该模式通过使用代码交换证明密钥来抵御威胁,可以减轻攻击。
  • 客户端模式(Client Credentials):客户端以自己的名义,而不是以用户的名义,向认证服务器进行认证,从而获取访问令牌。
  • 设备授权码模式(Device Authorization Grant):是一种凭证式授权类型,主要为那些没有浏览器或输入受限的设备提供认证方式。在这种模式下,设备会引导用户在另一台设备的浏览器中打开一个网页进行登录。用户完成登录后,设备就能够获取所需的访问令牌。

两种常用授权模式

授权码模式

具体流程如下:

  • (1)客户端将用户导向认证服务器;
  • (2)用户在认证服务器进行登录并授权;
  • (3)认证服务器返回授权码给客户端;
  • (4)客户端通过授权码和跳转地址向认证服务器获取访问令牌;
  • (5)认证服务器发放访问令牌(有需要带上刷新令牌)。

客户端模式

具体流程如下:

  • (1)客户端以自己的名义向认证服务器获取访问令牌;
  • (2)认证服务器发放访问令牌。

搭建认证服务

接下来我们将创建一个authorization-server模块,用于演示OAuth2的授权码模式和客户端模式。

项目准备

  • 在项目的pom.xml中添加相关依赖;

<dependencies><!--oauth2认证服务相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-oauth2-authorization-server</artifactId></dependency><!--SpringBoot Web相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--持久层框架Mybatis依赖--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis-spring-boot-starter.version}</version></dependency><!--thymeleaf页面模版引擎依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><!--由于html中引入了bootstrap,所以需要添加该依赖--><dependency><groupId>org.webjars</groupId><artifactId>webjars-locator-core</artifactId></dependency><dependency><groupId>org.webjars</groupId><artifactId>bootstrap</artifactId><version>5.2.3</version></dependency>
</dependencies>

  • 在MySQL中初始化Spring Authorization Server需要的数据库表,该表结构在spring-security-oauth2-authorization-server-xxx.jar中,有如下3个脚本;

  • 这里已经整理好了一份脚本,创建数据库authorization-server,直接执行如下sql脚本即可。

-- oauth2认证许可表
CREATE TABLE oauth2_authorization_consent
(registered_client_id varchar(100)  NOT NULL,principal_name       varchar(200)  NOT NULL,authorities          varchar(1000) NOT NULL,PRIMARY KEY (registered_client_id, principal_name)
);
-- oauth2认证信息表
CREATE TABLE oauth2_authorization
(id                            varchar(100) NOT NULL,registered_client_id          varchar(100) NOT NULL,principal_name                varchar(200) NOT NULL,authoriz
http://www.qdjiajiao.com/news/10983.html

相关文章:

  • 行业电子商务网站有哪些购物网站排名
  • 有个能写文章做任务的网站初学者做电商怎么入手
  • wordpress采集英文独立站seo怎么做
  • 在线设计图纸郑州专业seo哪家好
  • 做网站程序怎么写百度推广代理加盟
  • 网站建设空间域名是什么意思国家免费培训网站
  • 甘肃网站建设公司东莞网站建设推广公司
  • 创建网站公司 徐州网络营销的成功案例分析
  • 相亲网站开发与设计报告友情链接平台广告
  • 网络推广网站怎么做app开发平台
  • 网站建设拟采用的技术路线深圳网站建设三把火科技
  • 中国安能建设集团有限公司网站在线检测网站安全
  • 网站建设泉州app开发公司
  • 建设门户网站特点网络推广主要内容
  • 网站获取客户信息需要备案吗手机建站平台
  • 淘宝客怎么建立网站广州网站推广运营
  • seo建站淘客企业网站建设方案策划书
  • 做网站资料网络营销属于什么专业类型
  • alexa排名软件seo外包收费
  • 做购物网站的数据库搜索引擎优化工具
  • 网站前台图片设置google图片搜索引擎入口
  • 相亲网站男人拉我做外汇国际新闻最新消息中国
  • 谁有做爰网站号惠州自动seo
  • 武汉市有做网站的吗网络推广精准营销推广
  • 网站改版 301跳转国外搜索引擎大全百鸣
  • 做起点说网站的服务器多少钱网站快速优化排名app
  • 建立网站目录结构的原则百度站长社区
  • js 网站源码香港旺道旺国际集团
  • 做网站业务员应该了解什么网络seo外包
  • 浏览网站时弹出的广告是谁给做的关键词词库