颠覆认知!为什么“发 Token”其实是「授权」而不是「认证」?
颠覆认知为什么“发 Token”其实是「授权」而不是「认证」嗨开发者们在做登录功能时我们经常听到这两个词Authentication认证和Authorization授权。很多人包括曾经的我都潜意识地认为“登录就是认证Token 是登录成功的产物所以发 Token 也是认证的一部分。”打住这个理解其实是不准确的。今天我们来聊聊一个架构设计中的冷知识为什么颁发 Token令牌这个动作在本质上属于「授权」️‍♂️ 一、 认证 vs 授权傻傻分不清楚首先我们用一个“去公司大楼上班”的例子来彻底厘清这两个概念1️⃣ 认证 (Authentication) 验明正身 场景你走到大门口保安大叔拦住你“你谁啊”动作你掏出身份证或者刷脸。保安核对照片和本人确认你是“张三”。核心问题你是谁(Who are you?)代码对应checkPassword(username, password)2️⃣ 授权 (Authorization) 赋予权力 场景保安确认你是张三后但他不能让你直接进去。他拿出一张门禁卡在读写器上刷了一下写入权限可进 1-5 层然后把卡递给你。动作发放门禁卡。核心问题你能干什么(What can you do?)代码对应JwtUtil.createToken(userId, role)看出来了吗核对身份证是“认证”但把门禁卡Token递给你的那一刻其实是在进行“授权”。因为那张卡代表了你在大楼里的权力。 二、 铁证如山看看标准协议怎么说如果你还觉得那是咬文嚼字我们来看看国际标准协议OAuth 2.0是怎么定义的。在 OAuth 2.0 中负责生成和发放 Token 的那个服务官方名称叫Authorization Server授权服务器它不叫Authentication Server也不叫Login Server。为什么因为 Token特别是 JWT的本质就是一份“授权书”。当你把 Token 发给客户端时你的潜台词是“我授权持有这个 Token 的人代表用户 ID: 10086在未来 2 小时内访问我的资源服务器。” 三、 代码视角的“解剖”在我们的 Java / Go / Node.js 代码中一个所谓的login接口其实通常原子化地执行了两个步骤publicStringlogin(Stringusername,Stringpassword){// 步骤 1认证 (Authentication)// 这一步只负责判断真假不产生 TokenUseruseruserRepo.findByName(username);if(!passwordEncoder.matches(password,user.getPassword())){thrownewAuthenticationException(密码错误);}// ✨ 步骤 2授权 (Authorization)// 这一步负责打包权限生成令牌// 这里的动作是系统授予了用户访问 API 的凭证StringtokenJwtUtil.createToken(user.getId(),user.getRole());returntoken;}步骤 1结束时系统只是知道了“你是张三”。步骤 2结束时系统才赋予了张三“通行权”。 四、 为什么区分这个很重要你可能会问“反正都是写在一个接口里分那么细有啥用” 在微服务和中台架构中这个区别至关重要架构解耦统一认证中心 (IAM)可能只负责验密码认证。而业务系统可能需要根据认证结果自己发放特定业务的 Token授权。理解 OIDCOIDC (OpenID Connect)协议之所以存在就是因为 OAuth 2.0 只管授权发 Token不管身份。OIDC 补上了 ID Token才把“认证”和“授权”完美结合起来。安全模型️理解了 Token 是授权你就明白了为什么Token 泄露 权限被盗。因为捡到门禁卡的人拥有和你一样的权力 总结下次面试或者做架构设计时请记住这个公式验证账号密码➡️认证 (Authentication)颁发 Token➡️授权 (Authorization)校验 Token➡️鉴权 (Access Control)发 Token 就是在发权力所以它绝对是授权✅觉得有道理吗欢迎点赞、评论交流#编程知识 #架构设计 #OAuth2 #JWT #认证与授权

相关新闻

解锁激光专利秘籍:从撰写到布局的破局之道

解锁激光专利秘籍:从撰写到布局的破局之道

引言 在当今科技飞速发展的时代,激光技术作为前沿领域,正以前所未有的速度改变着我们的生活和工作方式。从智能制造中的精密加工,到医疗领域的精准治疗,再到通信行业的高速传输,激光技术的应用无处不在,它已然成为推动各行业进步的关键力量。作为激光技术的创造者和推动者…

2026/7/3 9:55:27 阅读更多 →
使用Markdown【从入门到精通一篇就够了】

使用Markdown【从入门到精通一篇就够了】

前言 Markdown 是一种轻量级标记语言,通俗的说你记笔记写博客的时候不用管排版如何,只要将自己的内容写上去,Markdown语法就可以给你搞定一切。 一、Markdown是什么 Markdown 是一种轻量级标记语言,创始人为约翰格鲁伯&#xf…

2026/7/3 15:41:19 阅读更多 →
Varian L6431 Rev G TC/Pirani 板,L6430-001

Varian L6431 Rev G TC/Pirani 板,L6430-001

Varian L6431 Rev G TC/Pirani 板与L6430-001的关系Varian L6431 Rev G TC/Pirani板和L6430-001是真空测量和控制系统中常见的组件,通常用于真空泵或真空规的接口电路。以下是关于这两者的关键信息:Varian L6431 Rev G TC/Pirani板用于连接热电偶&#x…

2026/7/3 15:41:24 阅读更多 →

最新新闻

OpenCore Configurator:黑苹果引导配置的技术重构与架构解析

OpenCore Configurator:黑苹果引导配置的技术重构与架构解析

OpenCore Configurator:黑苹果引导配置的技术重构与架构解析 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator OpenCore Configurator 作为一款专为…

2026/7/3 22:01:53 阅读更多 →
掌握图像转3D模型:ImageToSTL实现智能立体照片打印

掌握图像转3D模型:ImageToSTL实现智能立体照片打印

掌握图像转3D模型:ImageToSTL实现智能立体照片打印 【免费下载链接】ImageToSTL This tool allows you to easily convert any image into a 3D print-ready STL model. The surface of the model will display the image when illuminated from the left side. 项…

2026/7/3 22:01:53 阅读更多 →
上海理工大学《线性代数B》期末试卷及答案2017-2023年(10份)PDF

上海理工大学《线性代数B》期末试卷及答案2017-2023年(10份)PDF

上海理工大学《线性代数B》期末试卷及答案2017-2023年(10份) 包括: 上海理工大学《线性代数B》2017-2018学年第二学期期末试卷A卷.pdf 上海理工大学《线性代数B》2017-2018学年第二学期期末试卷B卷.pdf 上海理工大学《线性代数B》2017-2018学…

2026/7/3 21:57:52 阅读更多 →
猫抓Cat-Catch:在浏览器限制中的技术哲学与架构演进之路

猫抓Cat-Catch:在浏览器限制中的技术哲学与架构演进之路

猫抓Cat-Catch:在浏览器限制中的技术哲学与架构演进之路 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓Cat-Catch作为浏览器资源嗅…

2026/7/3 21:55:51 阅读更多 →
论文通关利器!好用的AI论文软件,成稿速度破纪录

论文通关利器!好用的AI论文软件,成稿速度破纪录

作为一名刚完成毕业论文的过来人,我太懂写论文的痛苦了 —— 选题迷茫、文献浩如烟海、框架混乱、熬夜改稿、查重降重反复折腾... 直到我发现了这套 AI 写作工具组合,简直是论文写作的 "开挂神器",效率直接拉满,原本 3 …

2026/7/3 21:53:50 阅读更多 →
13DOF传感器与PIC18F47K42微控制器的定位系统设计

13DOF传感器与PIC18F47K42微控制器的定位系统设计

1. 13DOF传感器与PIC18F47K42微控制器的定位系统概述在嵌入式系统开发领域,精确的定位与导航功能已成为各类智能设备的核心需求。13DOF(13自由度)传感器模块结合PIC18F47K42微控制器构建的解决方案,正在为工业自动化、消费电子和机…

2026/7/3 21:51:50 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻