Ho creato l'autenticazione basata su JWT nella mia applicazione API Web. Non sono in grado di capire la differenza tra
- Token di base
- Token al portatore
Qualcuno può aiutarmi?
Ho creato l'autenticazione basata su JWT nella mia applicazione API Web. Non sono in grado di capire la differenza tra
Qualcuno può aiutarmi?
Risposte:
Gli schemi di autenticazione Basic e Digest sono dedicati all'autenticazione utilizzando un nome utente e un segreto (vedere RFC7616 e RFC7617 ).
Lo schema di autenticazione Bearer è dedicato all'autenticazione tramite token ed è descritto dall'RFC6750 . Anche se questo schema proviene da una specifica OAuth2, puoi comunque utilizzarlo in qualsiasi altro contesto in cui i token vengono scambiati tra un client e un server.
Per quanto riguarda l'autenticazione JWT e poiché è un token, la scelta migliore è lo schema di autenticazione Bearer. Tuttavia, nulla ti impedisce di utilizzare uno schema personalizzato che potrebbe adattarsi alle tue esigenze.
L'autenticazione di base trasmette le credenziali come coppie ID utente / password, codificate utilizzando base64. Il client invia richieste HTTP con l'Authorization
intestazione che contiene la parolaBasic
parola seguita da uno spazio e unabase64-encoded
stringa nomeutente: password.
Autorizzazione: Basic ZGVtbzpwQDU1dzByZA ==
Nota: per l'autenticazione di base, poiché l'ID utente e la password vengono trasmessi in rete come testo non crittografato (è codificato in base64, ma base64 è una codifica reversibile), lo schema di autenticazione di base non è sicuro. HTTPS / TLS deve essere utilizzato insieme all'autenticazione di base.
L'autenticazione del portatore (chiamata anche autenticazione del token ) ha token di sicurezza chiamati token del portatore. Il nome "Autenticazione al portatore" può essere inteso come "dai accesso al portatore di questo token ". Il token portante è una stringa criptica, generalmente generata dal server in risposta a una richiesta di accesso. Il client deve inviare questo token nell'intestazione di autorizzazione quando effettua richieste a risorse protette:
Autorizzazione: portatore <token>
Nota: analogamente all'autenticazione di base, l'autenticazione al portatore deve essere utilizzata solo su HTTPS (SSL) .