热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【编程开发】之OAuth2

一、什么是OAuth21、OAuth2正式定义2、令牌的核心3、OAuth2的历史4、OAuth2的优势5、OAuth2的不足6、Auth2涉及的角色7、OAuth2术语8、OAu
一、什么是 OAuth2


1、OAuth2正式定义

在这里插入图片描述

2、令牌的核心

在这里插入图片描述

3、OAuth2的历史

在这里插入图片描述

4、OAuth2的优势

在这里插入图片描述

5、OAuth2的不足

在这里插入图片描述

6、Auth2涉及的角色

在这里插入图片描述

7、OAuth2术语

在这里插入图片描述

8、OAuth2 令牌的类型

在这里插入图片描述

9、OAuth2的误解

在这里插入图片描述

总结

在这里插入图片描述



二、OAuth2 的使用场景


1、OAuth2 解决的问题


  • OAuth2 是针对特定问题的一种解决方案
  • OAuth2 主要解决两个问题:
    • 开发系统间的授权问题
    • 分布式微服务的安全

2、开发系统间的授权问题

比如:用户想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源

在这里插入图片描述

我们知道图片资源的拥有者为用户,用户可以使用密码登录访问,而打印服务商是没有权限进行访问打印图片的:

在这里插入图片描述

要解决这个问题我们有一下方法:

方式一:用户名密码复制

在这里插入图片描述

但这种方式会造成用户的密码泄露,显示是行不通的。

方式二:使用通用开发者key

在这里插入图片描述

但这种方式只适用于合作商或者授信的不同业务部门之间,比如阿里巴巴和百度合作商,但问题是如果你是创业公司,想要和百度合作显然是不行的,因为公司实力差距大不对等。

方式三:颁发令牌

在这里插入图片描述

接近 OAuth2 方式,需要考虑如何管理令牌、颁发令牌、吊销令牌,需要统一的协议,因此就有了OAuth2协议。所以解决授权问题的最佳方式就是使用令牌来授权。

3、分布式微服务安全

除了开放系统授权外,OAuth2 还可以应用于现代分布式微服务安全

传统单块应用的安全:

在这里插入图片描述

现代微服务安全:

  • 现代微服务中系统微服务化以及应用的形态和设备类型增多,不能用传统的登录方式;
  • 核心的技术不是用户名和密码,而是 token,由 AuthServer 颁发 token,用户使用 token 进行登录。

在这里插入图片描述

典型的 OAuth2 应用场景:

在这里插入图片描述

4、总结

在这里插入图片描述

说白了 OAuth2 就是一种解决方案:一种令牌机制,按照一定规则生成字符串,字符串中可包含用户信息。而具体的生产规则可以使用 JWT 工具来生成,OAuth2 仅仅提供这种解决方案而已。


推荐阅读
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 探讨架构师在项目中应如何平衡对产品的关注和对团队成员的关注,以实现最佳的开发成果。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
author-avatar
我就唔分_753
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有