2015-05-10 19 views
5

Bir çerezde saklamak istediğim bir JWT belirtecine sahibim. Çerezin en azından HttpOnly bayrağı ayarlanmış olması gerekir, ancak Güvenli bayrağını da true olarak ayarlamak isterim.ngCookies'de httpOnly bayrağı nasıl ayarlanır?

// using 'ngCookies' 

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

Ama ben HttpOnly ve Güvenli bayraklarını belirtebilirsiniz nasıl net değil: açısal Dokümanlar

ben böyle kurabiye benim belirteci saklayabilir biliyorum. The docs say, put() ve get() için bir seçenek alanına sahiptir, ancak then it mentions $cookiesProvider. Bunun ne kadar uygun olduğuna, nerede bildirileceğine, veya her zaman bir put() veya get() yaptığım zaman ayarlanması gerektiğinden emin değilim?

Yani şöyle bir şey olurdu:

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

Ya tamamen yanlış olduğunu? HttpOnly bayrağı görmedim, ancak www.mydomain.com olarak ayarlıyorum domain görüyorum. HttpOnly = true ile aynı mı?

+0

Olası kopyalar (http://stackoverflow.com/questions/14691654/set-a-cookie-to-httponly-via-javascript) –

cevap

3

Bunu ngCookies kullanarak yapamazsınız, bir HttpOnly çerezi JavaScript'ten oluşturulamıyor, alternatif ise, sunucuya bir Set-Cookie HTTP yanıtı ekleyecek bir ajax sorgulaması yapmaktır.

İlgili: Set a cookie to HttpOnly via Javascript

[Javascript üzerinden HttpOnly çerez Set] arasında