OAuth授权:原理、流程与实现
1. OAuth简介
某些应用在登录流程中会存储用户数据,实现身份验证和授权的方法有很多,其中一种简单的方式是使用OAuth2,借助知名公司的现有账户。OAuth2(简称OAuth)是一种用于访问委托的开放标准,如果你使用过应用的“使用Facebook、GitHub或Google账户登录”功能,就可能遇到过它。
OAuth协议允许我们的Web应用访问另一个应用的登录数据,而无需第三方与我们共享用户凭证。用户通过创建访问令牌,授予我们的应用访问其第三方账户的权限。OAuth是基于授权的访问委托的公认标准,亚马逊、谷歌、Facebook、微软和GitHub等都支持OAuth工作流程。
2. 身份验证与授权的区别
- 身份验证 :每次应用收到登录请求时,会在允许访问之前检查用户凭证,这一过程称为身份验证。凭证通常包括用户名和密码,也可以是硬件令牌或生物识别因素(如指纹或面部识别)。应用会验证凭证是否与数据库中存储的凭证匹配。
- 单因素身份验证 :只需要一个因素(通常是密码),是最简单但最不安全的身份验证方法。
- 多因素身份验证 :用户必须提供至少两个因素,例如用户知道的密码、用户拥有的物理令牌或用户本身的生物特征(如指纹)。PayPal和Google等应用在登录时通常需要用户提供密码和一次性密码(OTP)。OTP是根据用户注册账户时与应用共享的秘密生成的代码,双方会在短时间间隔内重新生成。用户的OTP可以由身份验证应用(如Google Authenti
超级会员免费看
订阅专栏 解锁全文
1006

被折叠的 条评论
为什么被折叠?



