3

在您的应用程序数据库中保留(或不保留)印象笔记用户的最佳实践或常用方法是什么?

我应该创建自己的会员系统并创建与 Evernote 帐户的连接吗?

我应该将 Evernote 用户数据(或仅部分数据)存储在我自己的应用程序中并让用户仅使用 Evernote 登录吗?

4

2 回答 2

1

摘要:您必须保护他们的数据,但如何保护数据取决于您自己。使用整数edam_userId来识别数据。

我认为API 许可协议涵盖以下条款的保护:

您同意,在使用 API 时,您不会直接或间接采取或允许他人采取以下任何行动:... 1.8.4 规避或修改 Evernote 或 API 采用的任何密钥或其他安全机制;

如果您缓存人们的数据并且您的基于服务器的应用程序缺乏安全性以防止人们查看其他人的数据,那么我认为您显然违反了该条款。我觉得写的很优雅!

将其与责任条款 1.2 结合起来

您对使用您的密钥进行的所有活动负全部责任,无论此类活动是由您还是第三方进行。

因此,如果您不保护某人的缓存数据并且其他用户能够获取它,那么您将承担明确的责任。

在澄清了您有义务(如您所料)保护人们数据的问题之后,问题是您如何存储它?

第 4.3 条非常直接地涵盖了标识符,尽管它有点过时了,因为我们都被迫使用 oAuth -没有任何密码输入到任何其他 web 视图中。但是,移动或桌面客户端应用程序必须为用户提供注销机制,该机制必须从应用程序及其持久存储中完全删除用户名和密码。

对于 Web 应用程序,您甚至无法保存用户名:如果您的应用程序在多用户服务器上作为 Internet 服务运行,则不得要求、查看、存储或缓存 Evernote 用户的登录名或密码帐户。

好消息是,您可以依赖在edam_userIdoAuth 令牌凭据响应中返回给您的值,如此所述。

当您查看Data Model时,您可以看到 User 下的唯一 id 并进入User struct,看到令人放心的定义帐户的唯一数字标识符,在帐户的整个生命周期内都不会改变。

考虑后果,因为在您登录服务之前您无法获取用户 ID,如果您想为人们提供本地登录,则必须将您的本地凭据链接到用户 ID。如果他们必须输入两次用户名但无能为力,这可能会让一些人感到厌烦。

于 2012-10-23T00:29:21.753 回答
0

您可以允许用户通过 OAuth 登录。这是有关该过程如何工作的指南

但是您可能还希望在数据库中存储最少量的用户数据,至少是一个唯一标识符,这样您就可以执行诸如创建用户与其笔记本和标签之间的关系之类的操作。有关这些关系,请参阅 Evernote数据模型。如果您使用的是 Rails,这也将帮助您利用 Rails 约定。

于 2012-10-21T20:27:18.427 回答