【问题标题】:Generating user "token" in Express app (using everyauth/passport middleware)在 Express 应用程序中生成用户“令牌”(使用everyauth/passport 中间件)
【发布时间】:2013-01-29 16:10:21
【问题描述】:

我需要创建“令牌”供用户在调用我的 API 时发送。我的问题是,我应该怎么做才能生成这些令牌?

我应该提一下,我目前正在使用诸如everyauth 和passport 之类的模块来进行身份验证中间件,以防它们包含任何有助于解决此问题的东西。

【问题讨论】:

  • 帮助定义问题的问题...这些令牌的预期生命周期是什么?它们是按会话进行的,还是定时的,还是持久的?用户可以将它们交给第三方代表他们拨打电话(因此需要按需到期)吗?什么时候破坏您的安全性的成本会变得大于他们可以从 API 中提取的价值?令牌是否需要是另一个标识符的可验证哈希,还是可以只是一个随机字符串?
  • 好问题。每个项目都会有所不同,但这正是我需要建议的事情。它们将按会话进行,并且不会提供给第三方——它们将在内部使用。令牌可以是任何东西 - 只要它足够安全以进行验证。

标签: authentication express passport.js everyauth


【解决方案1】:

颁发令牌的典型方法是使用 OAuth 2.0。 OAuth2orizePassport 的兄弟项目,它提供了一个用于实现 OAuth 2.0 授权服务器的工具包。

尽管根据您的评论“它们将在每个会话中提供,并且不会提供给第三方”,但我不确定您的用例是什么。您如何在浏览器上下文之外定义“会话”。如果这是在浏览器中,最好使用 Express 提供的内置会话支持。

【讨论】:

    猜你喜欢
    • 2021-03-14
    • 1970-01-01
    • 2021-05-14
    • 2020-01-24
    • 2012-05-27
    • 2019-03-24
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    相关资源
    最近更新 更多