节点服务器,如果使用 oauth,基本身份验证是否需要数据库?

Node Server, is a database necessary for basic authentication if using oauth?

我正在学习 Node,目前正在使用护照进行身份验证。 假设我的服务器有 2 个页面,一个带有各种登录选项的 public 主页,然后是一个只有通过身份验证才能访问的超级机密页面(也许更多)。

如果我只打算使用第 3 方策略,是否有任何理由需要数据库? 我知道您显然需要一个用于本地用户的 ID 和通行证,但如果服务器完全依赖第 3 方身份验证,会话持久性是否足以工作?还是出于某种原因(除了日志记录之外)您还需要保存各种东西?

你可以没有数据库吗,当然...但在这种情况下,进行身份验证的意义何在?您所要证明的只是用户拥有一个 Google 帐户,任何人都可以在几分钟内免费设置该帐户。

如果您的内容是超级机密,那么您可能希望拥有一个有权查看该内容的用户(电子邮件地址等)数据库。通过 OAuth 进行身份验证,您将获得一个访问令牌,允许您获取经过身份验证的用户电子邮件地址。然后可以针对您的用户查找此信息 table 以查看用户是否已注册,如果您的应用强制执行此操作,请检查用户是否有权访问所请求的页面。

OAuth 正在证明此人是 Google/Facebook/Twitter/Github 帐户的所有者。您可以使用这些知识根据注册时使用的电子邮件在 "local accounts" 的数据库中登录某人,假设您在本地注册时验证电子邮件。