2015-05-10 113 views
5

我有一個我想存儲在cookie中的JWT令牌。 cookie至少需要設置HttpOnly標誌,但我也想將Secure標誌設置爲true。如何在ngCookies中設置httpOnly標誌?

從角文檔,我知道我可以存儲我的令牌餅乾這樣的:

// using 'ngCookies' 

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

但目前還不清楚我怎麼能指定的HttpOnly和安全標誌。 The docs say它有一個選項字段爲put()get(),但是then it mentions$cookiesProvider。我不確定這是如何適合的,或者應該在哪裏宣佈,或者是否需要在每次執行put()get()時設置?

所以會是這樣的:

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'); 
} 

或者是完全錯誤的?我也沒有看到任何HttpOnly標誌,但我確實看到domain,我將其設置爲www.mydomain.com。這相當於HttpOnly = true嗎?

+0

的[設置通過JavaScript cookie來的HttpOnly]可能的複製(http://stackoverflow.com/questions/14691654/set-a-cookie-to-httponly-via-javascript) –

回答

3

你不能使用ngCookies來做到這一點,一個HttpOnly cookie不能從JavaScript創建,然而,替代方法是向服務器發出一個ajax查詢,該查詢將添加一個Set-Cookie HTTP響應。

相關:Set a cookie to HttpOnly via Javascript

相關問題