热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用koajwt生成并存储token之后如何用于打开新页面?

最近在学习koa写一个小demo,从login用ajax登录验证成功后返回token并且把token存在localstorage,然后自动跳转home,home的koa-route.get路由写

最近在学习koa写一个小demo,从login用ajax登录验证成功后返回token并且把token存在localstorage,然后自动跳转home,home的koa-route.get路由写在




1
app.use(jwt({secret: config.app.secret}));

后面,然而总是返回‘No Authorization header found’,jwt方式创建的token放在window.localStorage里怎么才能用在一个打开新页面的请求里呢?

以下是部分代码



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
app.use(route.post('/login', function *() {

   

    // 省略了验证过程

    // ...

    if (!user) {        

        this.throw(401, 'Incorrect username.');

    } else if (!ps.validatePass(credentials.password, user.password)) {

        this.throw(401, 'Incorrect password.');

    } else {

        user.id = user._id;

        delete user._id;

        delete user.password;

    }



    // sign and send the token along with the user info

    var token = jwt.sign(user, config.app.secret, {expiresIn: 90 * 24 * 60 * 60  /* 90 days */});

    this.body = {token: token, user: user};

}));



app.use(jwt({secret: config.app.secret}));



app.use(route.get('/', function *() {

    this.body = 'got u';

}));

如果使用COOKIE配合session是需要给每个路由增加验证,或者过滤器,使用jwt怎么做到某些页面的非登录状态的屏蔽呢?

我有找到github上一个框架是使用在html文件头部验证是否存在

1
localstorage.user

,并且把这个文件的路由写在koa-jwt外部,如果不存在

1
localStorage.user

就跳转登录页面,但是这种屏蔽是不是太简单了?

1
2
3
4
5
6
7
8
9

如果再加客户端到服务器端通信是不是会影响性能?

如果改写成SPA,不修改location跳转,那么储存了token之后直接进入第二页面如何实现?


   



推荐阅读
author-avatar
VW旻shi只吃货8453
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有