我正在使用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節點,所以我會很感激,如果有人能指出我正確的方向。