Jim Asked: 2021-03-10 12:04:04 +0800 CST2021-03-10 12:04:04 +0800 CST 2021-03-10 12:04:04 +0800 CST 在我的桌面电子邮件客户端中使用 OAuth 身份验证而不是“应用程序密码”又名“安全邮件密钥”有什么优势? 772 Google 允许使用 OAuth 身份验证来获取电子邮件,但也允许使用由 Google 生成的冗长“应用程序密码”而不是帐户密码。Yahoo/AT&T 还允许使用“安全邮件密钥”代替 OAuth——“安全邮件密钥”似乎与“应用程序密码”相同。OAuth 如何提供更高的安全性,OAuth 与“应用密码”相比还有哪些其他优势? email security 1 个回答 Voted Best Answer user1686 2021-03-10T12:39:03+08:002021-03-10T12:39:03+08:00 它们是相似的,但是: 应用程序密码是手动管理的(复制粘贴等),每个站点都有自己的机制。OAuth2 令牌或多或少以或多或少的标准方式自动发布。 (理论上,OAuth2 还具有允许有限设备(例如带有繁琐屏幕键盘的智能电视)无需太多输入即可获得令牌的流程——您通过计算机登录以获得数字 PIN,在智能手机上输入该 PIN烤面包机或冰箱或其他任何东西,现在它有一个 OAuth2 令牌,无需输入长应用密码。) 在大多数服务中,所有应用程序密码都授予相同的各种权限。OAuth2 令牌仅授予您已确认的特定访问权限(例如,仅授予 Gmail、仅授予云端硬盘或仅授予日历)。 (某些服务,例如 GitHub 甚至允许为应用程序密码指定范围,但是您仍然需要确切知道您需要哪些密码,我敢打赌大多数人只需单击“所有这些,谢谢”,然后使用该单个应用程序到处都是密码。) OAuth2 使用两层系统,一个长寿命的“刷新”令牌仅发送到身份验证服务器,一个短寿命的“访问”令牌客户端每 X 天更换一次。 根据服务的设计方式,这实际上可以防止服务端的一些安全漏洞(例如,受损的 IMAP 服务器可以收集永久有效的应用程序密码,但它实际上无法获得 OAuth2 刷新令牌——只有临时访问令牌)。 应用密码适用于任何应用。OAuth2 要求每个开发人员将他们的应用程序注册为“客户端”,并允许谷歌或雅虎在本周实施他们想要的任何愚蠢的开发政策。
它们是相似的,但是:
应用程序密码是手动管理的(复制粘贴等),每个站点都有自己的机制。OAuth2 令牌或多或少以或多或少的标准方式自动发布。
(理论上,OAuth2 还具有允许有限设备(例如带有繁琐屏幕键盘的智能电视)无需太多输入即可获得令牌的流程——您通过计算机登录以获得数字 PIN,在智能手机上输入该 PIN烤面包机或冰箱或其他任何东西,现在它有一个 OAuth2 令牌,无需输入长应用密码。)
在大多数服务中,所有应用程序密码都授予相同的各种权限。OAuth2 令牌仅授予您已确认的特定访问权限(例如,仅授予 Gmail、仅授予云端硬盘或仅授予日历)。
(某些服务,例如 GitHub 甚至允许为应用程序密码指定范围,但是您仍然需要确切知道您需要哪些密码,我敢打赌大多数人只需单击“所有这些,谢谢”,然后使用该单个应用程序到处都是密码。)
OAuth2 使用两层系统,一个长寿命的“刷新”令牌仅发送到身份验证服务器,一个短寿命的“访问”令牌客户端每 X 天更换一次。
根据服务的设计方式,这实际上可以防止服务端的一些安全漏洞(例如,受损的 IMAP 服务器可以收集永久有效的应用程序密码,但它实际上无法获得 OAuth2 刷新令牌——只有临时访问令牌)。
应用密码适用于任何应用。OAuth2 要求每个开发人员将他们的应用程序注册为“客户端”,并允许谷歌或雅虎在本周实施他们想要的任何愚蠢的开发政策。