繁体   English   中英

如何安全地保存从 auth0 登录收到的 JWT 令牌(nodejs express)

[英]How to save JWT token recieved from auth0 login securely (nodejs express)

我是 Auth0 的新手,并试图在我的常规快递 web 应用程序中实现它。 我需要在用户访问我的某些端点之前保护/验证用户。 我的理解是,我可以使用从登录回调返回的 JWT 来做到这一点。 我已经做到了这一点,但是当我登录时,它会重定向,并且我不确定如何传递访问令牌/将其安全地存储在客户端。

这是我登录后回调端点的样子。它返回授权码,但我从这里迷路了。

https://auth0.com/docs/api-auth/tutorials/authorization-code-grant

我在登录时返回:

/callback?code=oi9-ZTieXo0hYL6A&state=sMJAUK4QVs7jziJ7lXvwmGKF

// Perform the final stage of authentication and redirect to previously requested URL or '/user'
router.get('/callback', function (req, res, next) {     
  passport.authenticate('auth0', function (err, user, info) {
    if (err) { return next(err); }
    if (!user) { return res.redirect('/login'); }
    req.logIn(user, function (err) {
      if (err) { return next(err); }
      const returnTo = req.session.returnTo;
      delete req.session.returnTo;  
        res.redirect('/user);
    });
  })(req, res, next);
});

我在哪里 go 从这里?

Auth0 不建议将令牌存储在浏览器存储(会话/本地存储)中。 对于客户端应用程序,令牌应该是短暂的,并在必要时通过静默身份验证进行更新(通过 cookie session 更新,身份验证服务器位于隐藏的 iframe 中)。

此处对此进行了概述: https://auth0.com/docs/security/store-tokens

如果您有后端,则在那里处理令牌,如果您使用的是 SPA + API,则使用链接中概述的策略。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM