我正在使用strongloop创建一个使用访问令牌的API。检查用户是否已登录(Strongloop和NodeJS)
我遵循此guide(也包括strongloop文档)来创建一个存储访问令牌的cookie,并使应用程序能够使用cookie来存储访问令牌。
这里是我的设置cookie一旦用户在(普通/模型/ API-user.js的)记录代码:
'use strict';
module.exports = function(Apiuser) {
// on login set access_token cookie with same ttl as loopback's accessToken
Apiuser.afterRemote('login', function setLoginCookie(context, accessToken, next) {
var res = context.res;
var req = context.req;
if (accessToken != null) {
if (accessToken.id != null) {
res.cookie('access_token', accessToken.id, {
signed: req.signedCookies ? true : false,
maxAge: accessToken.ttl
});
return res.redirect('/');
}
}
return next();
});
};
,然后在我的服务器/ server.js,我使用cookie的解析器这样创造签署饼干:
var cookieParser = require('cookie-parser');
var secret = "somesecret";
//use cookie-parser for signed cookies.
app.use(cookieParser(secret));
// use loopback.token middleware on all routes
app.use(loopback.token({
model: app.models.accessToken,
currentUserLiteral: 'me',
searchDefaultTokenKeys: false,
cookies: ['access_token'],
headers: ['access_token', 'X-Access-Token'],
params: ['access_token']
}));
我登录,设置cookie名称为“的access_token”之后,但是,它似乎并不认为环回使用此cookie /接取令牌验证请求对api做出的。
此外,我有一些客户端的HTML,我想通过阅读cookie值来检查用户是否登录,但是,访问令牌通过使用cookie解析器得到加密,我不知道如何实际阅读存储在该cookie客户端的访问令牌。我有点js noob节点,所以我会很感激,如果有人能指出我正确的方向。