2016-11-08 49 views
0

我試圖使用一個離子原生應用程序的快速會話,據我所知,它不支持餅乾。使用快速會話與離子應用程序(沒有餅乾)

我發現了一個潛在的解決方法來發送頭部請求中的認證令牌(sessionID),但無法弄清楚如何獲得快速會話來檢查頭部而不是通常的cookie(connect.sid)。

有沒有人有此建議,或有關如何解決這個問題的想法?

回答

0

你可以有一個離子餅乾基本驗證,只是驗證您是否包括withCredentials:真在你的Ajax調用,並明示服務器啓用CORSmore details
現在爲一個離子應用程序JWT是一個非常好的選擇。
在那裏你可以應用你的標題的想法。
中間件例如智威湯遜(別忘了驗證JWT):

function ensureAuthenticated(req, res, next) { 
    if (!req.headers.authorization) { 
    return res.status(401).send({ message: 'Please make sure your request has an Authorization header' }); 
    } 
    var token = req.headers.authorization.split(' ')[1]; 

    var payload = null; 
    try { 
    payload = $jwtSimple.decode(token, _pem, 'RS256'); 
    } 
    catch (err) { 
    return res.status(401).send({ message: err.message }); 
    } 

    if (payload.exp <= $moment().unix()) { 
    return res.status(401).send({ message: 'Token has expired' }); 
    } 
    req.user = payload.sub; 
    next(); 
} 

希望這有助於。

+0

嗯,從我可以告訴本機應用程序沒有設置cookie時,它收到一個set-cookie頭。 –