sicurezza api jwt e outh

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
giuseppe500
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 470
Iscrizione: martedì 22 maggio 2012, 14:04
Distribuzione: 22.04
Sesso: Maschile

sicurezza api jwt e outh

Messaggio da giuseppe500 »

ciao.
Sto creando un api rest con symfony 4 e api platform.
Vorrei capire che differenza c'è tra l'uso di un token di autenticazione jwt e invece outh nella filosofia di autenticazione di un progetto.
MI sembra di capire che la differenza stia in quello che deve fare e puo fare il client(nel mio caso una web app react native)
Da quel che ho capito se l'uso che ne fai è personale o della tua società possa andare benissimo il jwt.
e io devo proteggere un api usata sicuramente per adesso molto poco con un sistema di sicurezza
Ma, cosa fa outh che non si puo fare con jwt?
io vorrei stare lontano almeno per l'inizio da una complessità eccessiva e quindi sto utilizzando jwt come da questo tutorial https://symfonycasts.com/screencast/api ... ction-docs e sto cercando innanzitutto di capire in modo esaustivo jwt anche con l'uso di altri tutorial e documentazione.
ma sto cercando di capire per curiosità cosa fa outh che non si puo fare con jwt.

outh preso da wikipedia
OAuth è un protocollo di rete aperto e standard, progettato specificamente per lavorare con l'Hypertext Transfer Protocol (HTTP). Essenzialmente consente l'emissione di un token di accesso da parte di un server autorizzativo ad un client di terze parti, previa approvazione dell'utente proprietario della risorsa cui si intende accedere.[1]

Questo meccanismo, detto di "access delegation" (delega di accesso), è utilizzato da compagnie quali: Amazon, Google, Facebook, Microsoft, Twitter, Dropbox per consentire all'utente di condividere informazioni circa il proprio account con altre applicazioni o siti web. È comunemente utilizzato come modalita' per gli utenti in Internet per garantire alle applicazioni ed ai siti web l'accesso alle proprie informazioni senza fornire loro alcuna password.

Tale protocollo permette l'autorizzazione di API di sicurezza con un metodo standard e semplice in varie situazioni: applicazioni "mobile", applicazioni "web", applicazioni per personal computer.
OAuth logo

Per gli sviluppatori di applicazioni è un metodo per pubblicare e interagire con dati protetti. OAuth garantisce ai service provider l'accesso da parte di terzi ai dati degli utenti proteggendo contemporaneamente le loro credenziali. Per esempio permette all'utente di dare ad un sito, chiamato consumer, l'accesso alle informazioni presenti su un altro sito, detto service provider, senza condividere la propria identità.

Io vorrei distribuire la mia webapp (che è una semplice app di visualizzazione prodotti e prezzi in modo catalogo) su google play e vorrei che potesse essere utilizzata da qualsiasi persona che la scarica.
chiaramente un utente deve autenticarsi per usare l'app con un user e una password.
a me sembra che vada benissimo jwt e che anzi usare outh sia un errore di progettazione per quello che devo fare.

la domanda quindi è perchè e alla base di che richieste di progettazione sia meglio usare outh?
Grazie.
Avatar utente
DoctorStrange
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2855
Iscrizione: mercoledì 14 ottobre 2015, 9:33
Desktop: Gnome3
Distribuzione: Ubuntu 22.04 LTS Jammy Jellyfish
Sesso: Maschile
Località: Roma, Italia

Re: sicurezza api jwt e outh

Messaggio da DoctorStrange »

Ma jwt non è obsoleto ed in via di dismissione?
Soprattutto se gestisci siti di pagamenti, rischi che i tuoi yoken non vengano accettati dai provider come paypal ed affini.
A questo punto implementa direttamente oauth e dovresti essere sicuro anche per il prossimo futuro, giusto?
giuseppe500
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 470
Iscrizione: martedì 22 maggio 2012, 14:04
Distribuzione: 22.04
Sesso: Maschile

Re: sicurezza api jwt e outh

Messaggio da giuseppe500 »

Grazie dottor strange.volevo capire un po' più approfonditamente jwt e outh .non capisco perché sia obsoleto, in base a cosa è obsoleto? Per cosa è obsoleto?
Non volevo implementare outh e aggiungere complessità all applicazione se non serviva usarlo.
E questo dubbio sinceramente mi è rimasto.grazie comunque per il tuo aiuto. Ciao
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 11 ospiti