我正在寻找一种比传统用户名和密码更安全的网站身份验证方法。我正在尽量减少我存储的有关用户的数据量,并且我已选择实施社交登录功能。
如果黑客获得对数据库的访问权限,他们获取访问令牌的后果是什么?此数据是否比电子邮件地址更敏感?密码,例如?
此外,当用户第一次登录时给出的令牌的解释将非常有用。
答案 0 :(得分:1)
访问令牌为调用者提供应用程序中的某些权限。 OAuth 2.0定义了一个应用程序定义scope,它限制了调用者在应用程序中可以执行的操作(例如,仅检索帐户余额)。
用户名/密码组合通常可以完全访问应用程序(进行付款/转帐等)。
访问令牌通常更安全,因为它们的生命周期比用户名/密码组合短得多。如果您丢失了访问令牌,攻击者只能在有限的时间范围内访问您的数据。
此外,访问令牌不必存储在数据库中。它们通过数字签名进行验证。 OAuth refresh tokens通常存储在数据库中。但是,客户端需要客户端ID和客户端密钥才能使用刷新令牌来获取新的访问令牌。