Jak dodać datę ważności do ciasteczka Angular 2. Próbuję z Angularem 2.0.0-beta.15. Kiedy próbuję dodać opcje jak poniżej:
var expireDate = new Date (new Date().getTime() + (1000 * data.expires_in));
this._cookieService.put("token", this.token, {expires: expireDate});
powyższy błąd rzucania kodu, taki jak "[ts] Argument typu" {expires: Date; } "nie można przypisać parametrowi typu" CookieOptionsArgs ".
Brak właściwości "ścieżka" w typie "{expires: Date;}". (lokalny var) expireDate: Date "
Widzę dalej https://www.npmjs.com/package/angular2-cookie aby zastąpić domyślne opcje globalnie. Wątpię, czy jest to metoda dodania daty ważności do pliku cookie? Czy ktoś może mi pomóc zrozumieć więcej na ten temat?
Odpowiedzi:
2 dla odpowiedzi № 1Użyłem tej biblioteki z powodzeniem: https://github.com/BCJTI/ng2-cookies. Użyj go jak poniżej z ustawieniem daty wygaśnięcia:
Dołącz bibliotekę:
importuj {plik cookie} z "ng2-cookies / ng2-cookies";
Ustaw plik cookie z datą wygaśnięcia 365 dni:
Cookie.setCookie ("cookie-key", "cookie-value", 365);
2 dla odpowiedzi nr 2
Trochę za późno, ale powinno być coś takiego
let key = "testCookieKey";
let value = "testCookieValue";
let opts: CookieOptionsArgs = {
expires: new Date("2030-07-19")
};
cookieService.put(key, value, opts);
Nadzieję, że
1 dla odpowiedzi nr 3
Dla parametru Data ważności w ustawionych plikach cookie wartość powinna być od sekund do kilku dni obliczenie.
tj. 2 min = (2/1440)
// używaj przez 2 minuty ....
auth-cookies.ts
import { Injectable } from "@angular/core";
import { Cookie } from "ng2-cookies/ng2-cookies";
@Injectable()
export class AuthCookie {
constructor() { }
getAuth(): string {
return Cookie.get("id_token");
}
setAuth(value: string): void {
//0.0138889=20 minuts
//this accept day not minuts
//use for 20 minuts
Cookie.set("cookie_token", value, 0.0138889);
//use for 2 minuts
// Cookie.set("cookie_token", value,0.00138889)
}
deleteAuth(): void {
Cookie.delete("id_token");
}
}
zamieszczam to za późno, ale mam nadzieję, że będzie to przydatne.