2015-05-10 14 views
5

Ho un token JWT che vorrei memorizzare in un cookie. Il cookie deve avere almeno il flag HttpOnly impostato, ma vorrei anche impostare il flag Secure su true.Come impostare la flag httpOnly in ngCookies?

Dalla documentazione angolari so di poter conservare il mio gettone in cookie in questo modo:

// using 'ngCookies' 

createToken(jwt_token) { 
    $cookies.put('jwt', jwt_token); 
}, 
retrieveToken() { 
    return $cookies.get('jwt'); 
} 

ma non è chiaro come posso specificare i HttpOnly e sicuro bandiere. The docs say ha un campo opzioni per put() e get(), ma then it mentions$cookiesProvider. Non sono sicuro di come si adatta o dove dovrebbe essere dichiarato o se deve essere impostato ogni volta che eseguo uno put() o get()?

Quindi sarebbe qualcosa di simile:

createToken(jwt_token) { 
    $cookiesProvider['domain'] = 'www.mydomain.com'; 
    $cookiesProvider['secure'] = true; 
    $cookies.put('jwt', jwt_token); 
}, 
retrieveToken() { 
    $cookiesProvider['domain'] = 'www.mydomain.com'; 
    $cookiesProvider['secure'] = true; 
    return $cookies.get('jwt'); 
} 

O è completamente sbagliato? Non ho visto alcun flag HttpOnly, ma vedo domain che ho impostato su www.mydomain.com. È equivalente a HttpOnly = true?

+0

Eventuali duplicati di [impostare un cookie per HttpOnly tramite Javascript] (http://stackoverflow.com/questions/14691654/set-a-cookie-to-httponly-via-javascript) –

risposta

3

Non puoi farlo usando ngCookies, un cookie HttpOnly non può essere creato da JavaScript, l'alternativa però, è quello di fare una query Ajax al server che aggiungerà una risposta Set-Cookie HTTP.

correlati: Set a cookie to HttpOnly via Javascript