首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >nodejs passport认证令牌

nodejs passport认证令牌
EN

Stack Overflow用户
提问于 2013-07-01 11:27:56
回答 2查看 46.1K关注 0票数 72

我正在编写一个nodejs应用程序,我希望它既可以用作web应用程序,也可以用作API提供者。一旦用户通过身份验证,我希望为该用户分配一个令牌,以供后续请求使用。这对于web应用程序的passport非常有效,因为我只需在会话中使用令牌序列化和反序列化用户。但是,在响应API请求时,不需要设置cookie来存储会话信息。理想情况下,passport将在会话和请求正文中查找令牌。有没有办法通过配置passport来实现这一点?

EN

回答 2

Stack Overflow用户

发布于 2013-12-15 01:46:32

正如bnuhero提到的,你不需要会话(尽管这种方法也有它的优点)。下面是我为此启动的一个样板项目:https://github.com/roblevintennis/passport-api-tokens

这里有一个替代方案,它很容易遵循tut (但它确实使用了会话)。可能是一个很好的交叉引用:http://scotch.io/tutorials/javascript/easy-node-authentication-setup-and-local

还有一个与之相关的参考:http://mherman.org/blog/2013/11/11/user-authentication-with-passport-dot-js/

票数 7
EN

Stack Overflow用户

发布于 2018-10-31 14:25:39

您可以在nodejs的passport中使用isAuthenticated()方法。在每个路由上,您可以检查if(req.isAuthenticated()),如果它已经通过身份验证,它将允许您访问路由,或者您可以重定向或在else块中执行任何其他任何其他操作。在Passport中,您可以为成功登录返回done(null,user),它会将数据存储在cookie中,直到会话结束。在user中,您可以查看有关用户的信息,如电子邮件、密码等。

app.get('/home', (req, res) =>{
    if(req.isAuthenticated()){
        //render home page
    } else {
        // go back to the login page or throw soome error
    }
}) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17397052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档