144 messaggi dal 26 febbraio 2007
Ciao,

Non sapevo su quale sezione postare, ho deciso di farlo qua in quanto per generare ed inviare il token utilizzo asp core 2.2

Il sistema funziona benissimo, però mi è venuto un dubbio. Attualmente il token generato dal server viene inviato al client e salvato nel local storage, però ho letto in giro che non è la soluzione più sicura.

Volevo sapere se voi avete già affrontato questa problema ed in che modo avete risolto.

Grazie

services.AddAuthentication(x =>
            {
                x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddJwtBearer(x =>
            {
                x.RequireHttpsMetadata = false;
                x.SaveToken = true;
                x.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuerSigningKey = true,
                    IssuerSigningKey = new SymmetricSecurityKey(key),
                    ValidateIssuer = true,
                    ValidateAudience = true,
                    ValidIssuer = "IssuerXXX",
                    ValidAudience = "AudienceXXX",
                    ValidateLifetime = true,
                    ClockSkew = TimeSpan.Zero
                };
            })

Modificato da Federico.C il 17 settembre 2019 11:50 -
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

Attualmente il token generato dal server viene inviato al client e salvato nel local storage, però ho letto in giro che non è la soluzione più sicura.


Vorrei capire il contesto, puoi fornire il link all'articolo in cui l'hai trovato scritto?

Qualsiasi meccanismo usi per la memorizzazione lato client, che sia Local Storage o cookie, può divulgare le credenziali dell'utente se il suo PC o smartphone viene rubato o infettato da malware. Certamente, usare un token JWT è meno rischioso del memorizzare una password, dato che il token ha una scadenza (breve).

Ad ogni modo, se escludiamo furti e malware, i dati che scrivi nel Local Storage sono tutto sommato al sicuro dato che offre un buon livello di isolamento. Per esempio: il sito A non può accedere ai valori scritti nel Local Storage dal sito B.

Per il momento ti direi di andare tranquillo col Local Storage e usare questo accorgimento. Però rivalutiamolo dopo aver letto l'articolo che hai trovato.

ciao,
Moreno
Modificato da BrightSoul il 17 settembre 2019 13:38 -

Enjoy learning and just keep making
144 messaggi dal 26 febbraio 2007
L'ho letto diverse volte in giro, però effettivamente anche io andrei tranquillo per il local storage

Store JWTs securely
A JWT needs to be stored in a safe place inside the user's browser.

If you store it inside localStorage, it's accessible by any script inside your page (which is as bad as it sounds as an XSS attack can let an external attacker get access to the token).

Don't store it in local storage (or session storage). If any of the 3rd part scripts you include in your page gets compromised, it can access all your users' tokens.

The JWT needs to be stored inside an HttpOnly cookie, a special kind of cookie that's only sent in HTTP requests to the server, and it's never accessible (both for reading or writing) from JavaScript running in the browser.

https://logrocket.com/blog/jwt-authentication-best-practices/
144 messaggi dal 26 febbraio 2007
Comunque anche secondo me a livello di sicurezza non mi smebra che ci siano grosse differenza tra il cookies ed il local storage
11.886 messaggi dal 09 febbraio 2002
Contributi

Don't store it in local storage (or session storage). If any of the 3rd part scripts you include in your page gets compromised, it can access all your users' tokens.

Sì, ha decisamente senso.


The JWT needs to be stored inside an HttpOnly cookie

Certo, a questo punto però tanto vale usare l'autenticazione basata su cookie anziché su JWT. Oppure le abiliti entrambe così se hai client di terze parti gli consenti di scegliere quello che preferiscono.

ciao,
Moreno
Modificato da BrightSoul il 17 settembre 2019 14:12 -

Enjoy learning and just keep making
144 messaggi dal 26 febbraio 2007
allego un'altro articolo molto interessante

https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.