【问题标题】:What to use for user profile search: username or JWT token?用户个人资料搜索使用什么:用户名或 JWT 令牌?
【发布时间】:2015-08-02 17:55:53
【问题描述】:

在我的网络应用程序中,我想转到另一个用户的用户主页或个人资料页面。

我应该传递什么来查询特定用户的数据?

流程应该是什么?

我正在尝试使用用户分析构建一个完整的堆栈 JS 应用程序。

【问题讨论】:

  • 你为什么会考虑使用 JWT 令牌?令牌用于身份验证,通常是短暂的,任何给定用户只知道自己的令牌 - 它不应该访问其他用户的令牌。
  • 好的。我将使用“用户名”并将其设置为唯一。 (1) 我们是否需要在每次身份验证请求时发送 JWT 令牌?我有点困惑。就像,我登录并收到了 JWT。现在对于每个下一个请求,我还应该在 HTTP 请求正文中发送这个,服务器将验证我是有效用户吗? (2) 我应该将所有用户配置文件数据存储在同一个架构中还是创建一个不同的架构?

标签: javascript node.js jwt


【解决方案1】:

一个不错的选择是选择符合以下规则的用户属性:

  • 独一无二(必填)
  • 永不改变(推荐,如果没有,提供 404 重定向)

经常使用用户名。 如果您提供更改用户名的方法,用户 UID 的语义会更少,但会起作用。

【讨论】:

  • (1) 我们是否需要在每次认证请求时发送 JWT 令牌?我有点困惑。就像,我登录并收到了 JWT。现在对于每个下一个请求,我还应该在 HTTP 请求正文中发送这个,服务器将验证我是有效用户还是无效用户?如果我无效,则返回错误,但如果有效,它将返回请求的数据?
  • 这取决于您的身份验证策略。两者都是可能的。如果您使用服务器会话,则无需在每个请求上发送显式身份验证信息(cookie-session 处理它),但如果不是,则您处于无状态模式,需要对每个请求进行身份验证
猜你喜欢
  • 1970-01-01
  • 2016-10-19
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 2015-05-03
  • 1970-01-01
  • 2013-04-29
相关资源
最近更新 更多