Token élettartama, Web API + Angular + XSRF | Reiter István - .NET blog
Vegyük át amit eddig tudunk: ugye MVC alapon az XSRF támadások kivédése úgy működött, hogy kidekoráltuk az adott kontroller action-t a megfelelő attribútummal, illetve a Razor kódban többnyire automatikusan keletkezett egy sor. Mivel nagyjából ennyire volt szükség hozzá nem is nagyon foglalkozik vele az ember, hogy token élettartama hogyan működik, egészen addig amíg az egész folyamatot kézzel kell megvalósítani.

Szóval, a fent token élettartama eset a következőt csinálja: ha a Razor kódban megjelenik a Html. AntiForgeryToken sor, akkor két dolog történik: az oldal HTML kódjában keletkezik egy rejtett input mező és ezzel párhuzamosan egy cookie is kimegy a válasszal amelynek élettartama a session-re korlátozódik.

Ez a két token együtt utazik majd vissza amikor bemegy a — mondjuk — kitöltött űrlap és a megcélzott függvényen lévő Token élettartama attribútum összehasonlítja ezt a két tokent az általa ismertekkel, így megerősítve, hogy valóban megfelelő forrásból érkezett az adat.
Találnunk kell tehát egy olyan megoldást, ami biztonságos ugyanakkor könnyen használható.

Az alapkoncepció a következő lesz: készítek egy végpontot az API-mban, ami visszaad egy token-t, illetve egy sütit, ezáltal hozzájutok a nekem kellő adatokhoz.
Ez a rész elég egyszerűen megvalósítható, arra kell figyelni, hogy cookie tokent csak a session kezdetén kapunk, utána ugyanazt fogjuk használni a session élettartama alatt, illetve új token token élettartama meg kell adnunk a cookie tokent a generáló függvénynek.

Cookies["xsrf-token"]; string cookieToken; string formToken; AntiForgery. SerializeObject contentEncoding.

IsNullOrEmpty cookieToken { response. Ezzel a résszel meg is vagyunk, következő lépés a kliens oldal lesz.

Az Angular nagyon praktikusan támogat ún. A cookie automatikusan hozzácsapódik a kérésekhez, ezt viszont nekünk kell megtennünk. Headers; IEnumerable xsrfTokenList; if!
Mik azok a "cookie"-k? A cookie-k olyan fájlok, információdarabok, amelyek a számítógépén tárolódnak vagy más internet képes eszközökön, pl.
Validate tokenCookie.