Je to bezpečné vystaviť refreshtoken API

0

Otázka

Mám aplikácia vyvinutá pomocou Reagovať v front-end a ASP.Net Web API gl. Ja používam JWT o povolenie. Proces je

  1. Keď sa používateľ prihlási a je overený, 2 tokeny sú poslal na front-end, access token a obnoviť token. Prístupový token je JWT a osviežuje token je náhodný reťazec a obnoviť token je uložené v databáze.
  2. Pre každé následné volanie Api prístupový token je priložený v hlavičke, mám overovanie filter, ktorý overuje prístupový token.
  3. Raz prístupový token je platný, a 401 stav je hodená s chybové hlásenie TokenExpired.
  4. Raz front-end dostane 401, to volá obnoviť token API dostať obnoviť token

Na otázku, čo mám, je, že nemôžem mať overovanie filter na overenie prístupu token tokeny obnoviť API, ako sa to bude hodiť 401 kvôli uplynul prístupový token, takže musím urobiť obnoviť token API byť anonymný, takže to nie je hit overovanie filter. Ak by som, aby anonymné som volanie do databázy dostať obnoviť token uložené pre používateľa a porovnať ho s jedným som dostal od front-end. Takže je to bezpečné, aby obnoviť token API anonymné, ak nie to, čo je najlepší spôsob, ako?

asp.net-web-api c# jwt
2021-11-24 05:13:45
2
0

Na Auth0, Vytvorili sadu funkcií, ktoré zmierniť riziká spojené s použitím tokeny obnoviť tým, ktorým sa ukladá ochranné opatrenia a kontrola ich životného cyklu. Naša identita platforma ponúka obnoviť token otáčania, ktorý tiež prichádza s automatické opätovné použitie detekcie.

Prosím, prečítajte si nasledujúce témy.

Obnoviť Token Otáčania

Obnoviť Token Automatické Opätovné Použitie Detekcie

2021-11-24 05:56:21

Robíme druh obnoviť token rotácie. Keď nový prístupový token je požiadali sme overiť s obnoviť token a poskytnúť nový prístupový token a novú obnovovaciu token a obnoviť token je aktualizované v databáze. Avšak nemyslím si, že môžeme ukladať zoznam všetkých tokeny obnoviť generované tak ďaleko, ako je uvedené v automatické opätovné použitie detekcie
Raghul Raman
0

Na JWT je podpísaný pomocou predv. zdieľaný kľúč, zadajte tajný kľúč. Pretože je to REST API gl a osoby bez štátnej príslušnosti, jwt sa používa pre oprávnenie a postaviť hlavný objekt

Ako môžete povedať, prístupový token, predstavujú povolenie, vo vašej žiadosti, ak obnoviť token je vystavená potom obnoviť token môže byť prezentované zlý herec získať prístupový token, ktoré môžu využiť pre rovnaké oprávnenia.

Pomocou "predv. zdieľaný kľúč, zadajte tajný" označuje JWT je HMAC iba variant JWT, t. j. nie je šifrovanie, ktoré by mohli naznačovať, súkromný a verejný kľúč pár rozdiel od 'predv. zdieľaný kľúč, zadajte secret". Takže JWT je v podstate podpis za puposes bezpečnostných charakteristík sme zabezpečiť integritu , že nároky JWT sú dobre tvarované a neboli zmenené od podpísané. Znamená to tiež isté tajomstvo sa používa na prihlasovanie sa na jednom konci, ako bol použitý na overenie, na druhom konci, rovnaké tajomstvo sa má použiť, pretože overenie podpisu vyžaduje, aby oba konce generovanie podpisu a obaja podpis zápas. Takže žiadne dáta sú šifrované, takže nie údaje v JWT je citlivý a musia byť chránené.

Vzhľadom na tieto súvislosti, ako obnoviť a prístupový token, sú jednoduché JWT, ktoré môžu byť generované len držiteľ tajomstvo - ak sú vystavené môžu byť použité, aby sa škodlivé žiadosti, pokiaľ zostávajú v platnosti (nbf pohľadávky).

V podstate tento typ JWT môže byť zneužitý, ak vystavený vydávať identity tajomstvo, ktoré podpísali JWT predstavuje bez toho, aby skutočne vedeli tajné sám, až kým nbf nárok zaniká token - a obnoviť token je mechanizmus rozšíriť nbf tvrdenie bez toho, tajomstvo (ktorá by mala za následok nové podpis, pretože nbf nárok by sa zmenilo, keď sa používa).

Tam je jeden ochranu pred prístupový token, opätovné použitie, to je jednorazový kód nárok. Ak momentálne nie ste použiť jednorazový kód nárok si môžete prečítať o tom, ako OIDC zaviedli a urobiť on rovnaké vo vašej aplikácii. Ale ako hovoríte, vašu aplikáciu je bez štátnej príslušnosti, ale dúfajme, že slovník má formu štátu, v záujme č jednorazový kód opätovné použitie a zabrániť JWT podpis opätovné použitie. Pre každý jednorazový kód na JWT podpis zmeny, preto prístupový token, zmeny a môže byť použitá iba 1-čas. Takže ak ukradnuté to je závod stav, ktorý používa token prvý, čo výrazne minimalizuje riziko, ale nie je ideálne riešenie.

2021-11-24 09:11:17

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................