2015-05-10 5 views
5

У меня есть токен JWT, который я хотел бы хранить в cookie. Файл cookie должен иметь как минимум флаг HttpOnly, но я также хотел бы установить флаг Secure в true.Как установить флаг httpOnly в ngCookies?

Из угловых Документов я знаю, что может хранить свою фишку в печенье, как это:

// using 'ngCookies' 

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

Но это не ясно, как я могу указать HTTPOnly и Secure флаги. 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

Возможный дубликат [Установить куки для HttpOnly с помощью Javascript] (http://stackoverflow.com/questions/14691654/set-a-cookie-to-httponly-via-javascript) –

ответ

3

Вы не можете сделать это с помощью ngCookies, cookie не может быть создан из JavaScript, альтернативой, однако, является создание ajax-запроса на сервер, который добавит ответ HTTP-ответа Set-Cookie.

Похожие: Set a cookie to HttpOnly via Javascript

Смежные вопросы