我正在考虑使用 Yodlee FinApp API 开发应用程序。
他们的 REST 协议要求您将用户登录到他们的系统以检索数据。为此,您需要发送登录名和密码。成功的请求会返回一个有效期为 30 分钟的令牌。在 30 分钟过去之前,您必须重新登录用户才能检索新令牌。在我看来,这就是问题所在。
我可以设置一些东西,每次用户登录我的应用程序时,我都会立即将他们的登录信息和密码发送给 Yodlee 并在那里登录。然后,我不需要将他们的密码以纯文本形式存储在我的数据库中。但是当 30 分钟过去了会发生什么呢?我实际上并不“知道”他们的密码,因此我无法为他们获取新令牌,并要求他们再次登录。让用户每 30 分钟不断地重新登录是一件非常痛苦的事情。
或者,我可以在他们注册我的应用程序时为他们生成我自己的密码,并将其用于我的应用程序与 Yodlee 的交互。但是后来我将他们的 Yodlee 密码以纯文本形式存储在我的数据库中。假设有人能够访问我的服务器,他们将拥有我的应用程序的凭据以及所有用户凭据,因此他们将能够模仿我的应用程序的登录过程并获得对用户事务的访问权限。这似乎是个坏主意。
这里的正确方法是什么?似乎我正在调查的两种途径都有严重的缺点,但也许我错过了另一种选择?