微服务商城系统(十) Spring Security Oauth2 + JWT 用户认证
文章目录
- 一、用户认证分析
- 1、认证 与 授权
- 2、单点登录
- 3、第三方账号登录
- 4、第三方认证
- 5、认证技术方案
- 6、Security Oauth 2.0 入门
- 7、 资源服务授权
- (1)资源服务授权流程
- (2)公钥私钥授权流程
- (3)生成私钥公钥
- 二、JWT 令牌
- 三、认证开发
- 1、认证服务
- 2、工具封装
- 3、代码实现
- 四、总结
代码: https://github.com/betterGa/ChangGou
一、用户认证分析
上面流程图 描述了用户要操作的各个微服务,用户查看个人信息 需要访问 用户微服务,下单 需要访问 订单微服务,秒杀抢购商品 需要访问 秒杀微服务。每个服务都需要认证用户的身份,身份认证成功后,需要识别用户的角色,然后授权访问对应的功能,比如管理员 和 普通用户的权限对应的功能 是不一样的。
1、认证 与 授权
身份认证
用户身份认证 即 用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的用户身份认证表现形式有:用户名密码登录。说通俗点,就相当于 校验用户账号密码是否正确。用户授权
用户认证通过后去访问系统的资源,系统会判断用户是否拥有访问资源的权限,只允许访问有权限的系统资源,没有权限的资源将无法访问,这个过程叫 用户授权。就是上文说的 “管理员 和 普通用户的权限对应的功能 是不一样的“。
2、单点登录
用户访问的项目中,至少有 3 个微服务需要识别用户身份,如果用户访问每个微服务都登录一次就太麻烦了,为了提高用户的体验,我们需要实现 让用户在一个系统中登录,其他任意受信任的系统都可以访问,这个功能就叫 单点登录 。
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。 单点登录 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
3、第三方账号登录
随着国内及国外巨头们的平台开放战略以及移动互联网的发展,第三方登录已经不是一个陌生的产品设计概念了。 所谓的第三方登录,是说基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册的功能。 而这里的第三方平台,一般是已经拥有大量用户的平台,国外的比如Facebook,Twitter等,国内的比如微博、微信、QQ等。
- 第三方登录优点
(1)相比于本地注册,第三方登录一般来说比较方便、快捷,能够显著降低用户的注册和登录成本,方便用户实现快捷登录或注册。
(2)不用费尽心思地应付本地注册对账户名和密码的各种限制,如果不考虑昵称的重复性要求,几乎可以直接一个账号走遍天下,再也不用在大脑或者什么地方记住N多不同的网站或App的账号和密码,整个世界一下子清静了微服务商城系统(十) Spring Security Oauth2 + JWT 用户认证相关推荐
- Spring Security Oauth2 JWT 实现用户认证授权功能
Spring Security Oauth2 JWT 一 用户认证授权 1. 需求分析 1.1 用户认证与授权 什么是用户身份认证? 用户身份认证即用户去访问系统资源时系统要求验证用户的身份信息,身份 ...
- 学成在线-第16天-讲义- Spring Security Oauth2 JWT RSA加解密
学成在线-第16天-讲义- Spring Security Oauth2 JWT 1 用户认证需求分析 1.1 用户认证与授权 截至目前,项目已经完成了在线学习功能,用户通过在线学习页面点播视频进 ...
- 【Spring Cloud Alibaba 实战 | 总结篇】Spring Cloud Gateway + Spring Security OAuth2 + JWT 实现微服务统一认证授权和鉴权
一. 前言 hi,大家好~ 好久没更文了,期间主要致力于项目的功能升级和问题修复中,经过一年时间这里只贴出关键部分代码的打磨,[有来]终于迎来v2.0版本,相较于v1.x版本主要完善了OAuth2认证 ...
- mall-swarm是一套微服务商城系统
介绍: mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba.Spring Boot 2.3.Oauth2.MyBatis.Elasti ...
- mall-swarm微服务商城系统
mall-swarm是一套微服务商城系统,采用了 Spring Cloud 2021 & Alibaba.Spring Boot 2.7.Oauth2.MyBatis.Docker.Elast ...
- springcloud 整合 gateway_GitHub上最火的SpringCloud微服务商城系统项目,附全套教程
项目介绍 mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich.Spring Boot 2.MyBatis.Docker.Elasticsearch等核心技术 ...
- 【Spring】Spring Security OAuth2 JWT 认证
1.概述 Spring Security OAuth2 JWT 认证服务器配置 Spring Security OAuth2 JWT 资源服务器配置 Spring Security OAuth2 Re ...
- Spring Cloud OAuth2 实现用户认证及单点登录
OAuth 2 有四种授权模式,分别是授权码模式(authorization code).简化模式(implicit).密码模式(resource owner password credentials ...
- 微服务商城系统(十四)微信支付
文章目录 一.支付微服务 1.微信支付 API 2.HttpClient 工具类 3.支付微服务搭建 二.微信支付二维码生成 三.检测支付状态 四.内网穿透 五.支付结果通知 1.支付结果回调通知 2 ...
最新文章
- oracle事务处理编号,oracle事务处理
- HTML: 字體設置
- Git复习(十)之常见报错和疑问
- P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles(简单dp)
- html基本标签与属性
- .12-浅析webpack源码之NodeWatchFileSystem模块总览
- 7-二进制,十进制,十六进制
- 记一次mysql进程无法启动的解决方案
- YOLO:实时目标检测
- 每日英语:Why Food Companies Are Fascinated by the Way We Eat
- 在Java环境下怎么打开_Java环境配置及在Dos命令下运行Java程序
- sqlserver 当月、 时间_SQLServer取系统当前时间
- 分享一个漂亮的后台 admin 前端模板
- python documents in chinese_基于 Python 的简单自然语言处理实践
- Android面试题集锦
- 最好用的股市技术指标
- 码农场 » POJ 2566 Bound Found 题解 《挑战程序设计竞赛》
- es父子结构查询_探索ES-嵌套对象和父子对象(四)
- 详解人工智能领域重大突破:GPT-3
- 三种中国特色的团购创新模式
热门文章
- Spring Security Oauth2 JWT 实现用户认证授权功能