欢迎访问 内存溢出 —— 独立后端与系统工程技术博客

专注于分布式系统、Linux内核、数据库存储与后端工程实践

OAuth 2.0 与 OpenID Connect:身份认证与授权分离

发表于:|最后更新:|分类:安全与运维|阅读:3413 次
本文标签:OAuth2身份认证OIDC

OAuth 2.0 解决授权问题(访问什么资源),OpenID Connect(OIDC)在其之上补充身份认证(你是谁)。

一、职责划分

  • OAuth 2.0:颁发 Access Token,用于访问受保护资源
  • OIDC:在 OAuth 2.0 上增加 ID Token(JWT 格式),携带用户身份信息

二、OIDC 授权流程

text
1. 客户端重定向至 /authorize?scope=openid%20profile
2. 用户认证后回调携带 code
3. 客户端用 code 换取 access_token + id_token
4. 验证 id_token 签名、iss、aud、exp
5. 从 id_token 中读取 sub、email、name 等声明

ID Token 的 sub 字段是用户唯一标识,aud 必须等于客户端 ID,iss 必须匹配授权服务器。切勿将 Access Token 当作身份凭证使用,其格式与语义均不保证可解析。