前言
OpenID和OAuth 2.1是两个不同但相关的协议,它们解决的需求和用途不同。以下是它们的区别和联系:
一、核心区别
特性 | OpenID | OAuth 2.1 |
---|---|---|
用途 | 用于身份验证(Authentication),即“你是谁”。 | 用于授权(Authorization),即“你可以访问什么”。 |
目标 | 允许用户通过某种方式证明自己的身份,比如使用第三方账户登录(如Google、Facebook)。 | 允许应用程序获得用户授权来访问用户资源(如访问用户的邮件、文件等)。 |
结果 | 返回身份信息(如用户ID、姓名、邮箱等)。 | 返回访问令牌(Access Token),用于访问受保护资源。 |
协议版本 | OpenID Connect(OIDC)是基于OAuth 2.0的扩展,用于身份认证。 | OAuth 2.1 是 OAuth 2.0 的迭代版本,旨在解决安全性问题并简化开发。 |
用户体验 | 用户登录后,应用程序可以获取用户的详细身份信息,通常用于“单点登录”(SSOÿ |