1

我正在构建一个 Web 应用程序,向用户展示他们的 Gmail 活动的有趣可视化(他们发送电子邮件最多的人等)。显然,用户需要给我他的 Gmail 密码才能使用该应用程序,我想知道我应该如何存储它:

  1. 以明文形式存储 Gmail 密码。有风险!
  2. 根本不存储 Gmail 密码;强制用户每次要同步数据时输入。可能不方便!
  3. 在存储之前加密 Gmail 密码。我的应用程序的用户密码是关键。

(3)之类的东西似乎最好,但使用(3)我只能在用户登录时同步数据(因为我在任何其他时间都不知道他的应用程序密码),这并不理想。我更喜欢类似Mint.com的解决方案,用户可以随时单击按钮从 Gmail 同步数据,而无需重新输入密码(知道 Mint 如何在不存储您的银行密码的情况下完成此操作吗?)

4

2 回答 2

7

截至4 天前(好时机!)Gmail 支持 OAuth 通过 IMAP 访问邮件数据。这意味着您的应用永远不需要查看用户的密码。该文档包括库和示例代码

于 2010-04-04T02:43:44.160 回答
1

你在这里进入了一项非常危险的账户聚合业务。Yodlee 为 Mint 进行帐户聚合,实际上 Mint 并不像 WhirlWind 建议的那样存储银行密码。Mint 将其卸载给 Yodlee,后者可能存储或可能与银行机构进行某种安全集成。我的建议是不要存储密码并让用户每次都输入密码,或者使用谷歌允许您使用的有限 OAUTH。不确定您是否可以从中获得所有分析。

于 2010-04-04T02:50:08.337 回答