Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
付智勇
/
koa2_Sequelize_project
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
付智勇
8 years ago
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
6211b4cf90ca371052ba3c7c5127e0f376146b19
6211b4cf
1 parent
bea6ae21
master
...
20171113
nows
revert-2a1f6481
token 验证
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
28 行增加
和
24 行删除
app.js
util/filterUrl.js
util/tokenUtil.js
app.js
查看文件 @
6211b4c
...
...
@@ -11,6 +11,7 @@ const cors = require('koa-cors');
const
index
=
require
(
'./routes/index'
)
const
users
=
require
(
'./routes/users'
)
const
filterUrl
=
require
(
__dirname
+
'/util/filterUrl'
)
var
tokenUtil
=
require
(
'./util/tokenUtil'
);
const
_
=
require
(
'lodash'
);
// error handler
onerror
(
app
)
...
...
@@ -30,17 +31,25 @@ app.use(views(__dirname + '/views', {
// logger
app
.
use
(
async
(
ctx
,
next
)
=>
{
const
start
=
new
Date
();
if
(
filterUrl
.
indexOf
(
ctx
.
request
.
url
)
!=
-
1
){
await
next
();
}
else
if
(
!
ctx
.
header
.
token
){
ctx
.
response
.
status
=
400
;
ctx
.
response
.
body
=
{
msg
:
'请登录'
}
}
else
{
await
next
();
try
{
const
start
=
new
Date
();
if
(
filterUrl
.
indexOf
(
ctx
.
request
.
url
)
!=
-
1
){
await
next
();
}
else
if
(
!
ctx
.
header
.
token
){
ctx
.
response
.
status
=
200
;
ctx
.
response
.
body
=
{
code
:
0
,
msg
:
'请登录'
}
}
else
{
let
isToken
=
await
tokenUtil
.
prverifySession
(
ctx
.
header
.
token
);
await
next
();
}
const
ms
=
new
Date
()
-
start
;
console
.
log
(
`
$
{
ctx
.
method
}
$
{
ctx
.
url
}
-
$
{
ms
}
ms
`
)
}
catch
(
e
){
console
.
log
(
'返回的err'
,
e
.
message
)
ctx
.
response
.
status
=
200
;
ctx
.
response
.
body
=
{
code
:
0
,
msg
:
e
.
message
}
}
const
ms
=
new
Date
()
-
start
console
.
log
(
`
$
{
ctx
.
method
}
$
{
ctx
.
url
}
-
$
{
ms
}
ms
`
)
})
// routes
...
...
util/filterUrl.js
查看文件 @
6211b4c
module
.
exports
=
[
"/users/addUser"
,
"/users/login"
]
\ No newline at end of file
module
.
exports
=
[
"/users/addUser"
,]
\ No newline at end of file
...
...
util/tokenUtil.js
查看文件 @
6211b4c
...
...
@@ -15,7 +15,8 @@ module.exports = new JwtSession() ;
* @param cb
*/
JwtSession
.
prototype
.
getSession
=
(
users
)
=>
{
var
expiresIn
=
60
*
60
*
60
*
60
*
60
;
// var expiresIn = 60 * 60 * 60 * 60 * 60;
var
expiresIn
=
60
*
60
;
var
payload
=
{};
payload
.
id
=
users
.
id
;
payload
.
name
=
users
.
loginName
;
...
...
@@ -36,16 +37,10 @@ JwtSession.prototype.getSession = (users) =>{
* @param token
* @param cb
*/
JwtSession
.
verifySession
=
function
(
token
,
cb
)
{
jwt
.
verify
(
token
,
'Efangcpap'
,
function
(
err
,
data
)
{
console
.
dir
(
data
);
if
(
err
&&
err
.
name
===
'TokenExpiredError'
)
{
cb
&&
cb
({
message
:
'token expired'
});
}
else
if
(
err
&&
err
.
name
===
'JsonWebTokenError'
)
{
cb
&&
cb
({
message
:
'invalid token'
});
}
else
{
cb
&&
cb
(
null
,
data
);
}
});
JwtSession
.
prototype
.
prverifySession
=
async
(
token
)
=>
{
try
{
let
back
=
jwt
.
verify
(
token
,
'3mang'
);
}
catch
(
error
)
{
throw
new
Error
(
error
)
}
};
...
...
请
注册
或
登录
后发表评论