3

我仍然是 Vue.js 和 Flask 框架的新手。我创建了一个简单的 todo 应用程序,它使用来自 Flask 的 JSON 端点并使用 Vue.js 来显示 UI。

我的应用有 TODO、PROJECT 和 USER 模型。我已经通过自己的用户模型成功实现了“正常登录”。这个流程:

  1. 用户填写用户名和密码。
  2. 对 Flask API 的 POST 请求,该 API 使用哈希密码将用户保存在数据库中。
  3. 用户可以通过 /auth 端点登录并收到 JSON Web 令牌作为回报。
  4. 当用户注销时,令牌被销毁。

现在我想实现一个谷歌登录以及现有的用户模型。我可以成功创建对 google API 的调用,并在 vue.js 客户端中从 google 检索用户数据。但这就是我卡住的地方。

  • 我现在应该在我的数据库中保存什么?我没有用户密码,只有一个令牌,以便稍后在我将数据发送到 Flask 服务器时进行识别。
  • 我应该将 Google Auth 用户和普通用户都保存在同一个数据库表中吗?当我检索他们的信息以检查用户是否存在时,如何区分它们?

由于我非常关心将来构建安全的应用程序,因此我想真正了解在这种情况下的最佳实践是什么。

谢谢你的帮助!

4

1 回答 1

2

对于对此主题感兴趣的任何人:我最终将所有用户保存在同一个数据库表中,并创建了一个布尔值,无论用户是使用密码/用户名还是使用 OAuth 提供程序登录。如果是这样,提供的令牌可用于验证用户。

于 2017-04-18T20:23:17.807 回答