认证、会话管理、授权的区别

认证、会话管理、授权的区别

认证和会话管理

Authentication(认证)→ 你是谁?

确认用户真实身份。

例如:

  • 输入账号密码

  • 输入验证码

  • 扫码登录

  • 指纹/人脸识别

这些都是"认证"。

Session Management(会话管理)→ 我怎么记住你?

认证完后,在后续请求中追踪你是谁。

比如:

  • 给你一个 sid 存在 Cookie(Session)

  • 给你一个 JWT Token

  • 给你一个 Cookie 里存的 Token

这些是"维持你已经认证后的状态"。


把两个过程连起来你就懂了

① 你第一次来网站

你输入账号密码(认证)→ 服务器确认你是 Alice

② 接下来你再访问

服务器不会让你重复输入账号密码,太难受了。

所以服务器给你一个识别符,比如:

以后你带上这个"识别符",服务器就知道你是谁。


小结

Cookie / Session / Token 识别的是"已经认证过的用户"

不负责 "认证用户本人"。

你第一次还是要靠账号密码、人脸等真正的认证方式。

授权

授权流程图如下

css 复制代码
App A(知乎) 想访问用户在 App B(微信)的信息
        │
        ▼
  跳转到微信 → 用户在微信登录(这是认证)
        │
        ▼
  微信问:"允许知乎读取你的头像吗?"(这是授权)
        │
        ▼
  用户允许 → 微信给知乎一个 authorization code
        │
        ▼
  知乎拿 code 去换 access token

总结

认证(Authentication)负责确认用户是谁。

Cookie / Session / Token 负责记住这个已经认证过的用户是谁。

OAuth2 负责授权,不负责登录。

相关推荐
SL_staff7 小时前
别急着买商业规则引擎:90%风控场景根本不需要全量编码能力
java·程序员·groovy
ManageEngineITSM7 小时前
DevOps和ITIL是什么关系?是替代还是互补一文讲清
java·服务器·资产管理·变更管理
SL_staff8 小时前
ERP排程总在纸上谈兵?JVS-APS如何用真实产能约束打通计划与执行闭环
java·人工智能·开源
xcl09258 小时前
24小时自助健身房系统软件开发实战指南:从架构到部署
java·spring boot
码少女8 小时前
Linux--多路转接之select
java·服务器·数据库
nvvas9 小时前
Java 入门(四):数组——数据的集合管理
java·开发语言
Lambert28110 小时前
AgentScope Java 从零(07):官方有权限引擎,我却在工具里写了个 if
java·后端·ai编程
Kyrie_kk10 小时前
Java--ThreadLocal线程副本(一)
java·后端
君顾110 小时前
本地城市低空经济管理系统定制:城市级低空运营平台架构与落地实战
java·开发语言·飞手
奈斯先生Vector10 小时前
当模型版本不断变化,RelayRouter 能否帮助 AI 应用摆脱深度绑定
android·java·人工智能·开源·aigc