2015-05-10 114 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

相关问题