Qual è il metodo più sicuro per inviare i dati di autenticazione all'API?

1

Uso Vue.js su frontend e GoLang su backend. Con Vue sto inviando una richiesta AJAX con credenziali per l'accesso / iscrizione. Dovrei usare l'autenticazione di base HTTP, o semplicemente inviarli nel corpo della richiesta? Nel caso ti stia chiedendo, sto usando HTTPS. Dopo la richiesta iniziale, sto inviando un cookie di sessione, che userò per le richieste successive.

    
posta Dawid Cyron 16.09.2018 - 16:07
fonte

1 risposta

2

Non utilizzare l'autenticazione di base, si tratta di un vecchio schema di autenticazione che non fornisce vantaggi sulla gestione delle sessioni basata su cookie o token. Quando si utilizzano le credenziali di autenticazione di base come identificativo di sessione, è necessario quindi inviarlo in ogni richiesta. Questo ha due grossi aspetti negativi:

  • Le credenziali sono memorizzate nella cache del browser in testo semplice, che potrebbe essere oggetto di abusi in alcuni scenari

  • La sessione non può essere interrotta poiché è collegata alle credenziali dell'utente e le credenziali non hanno alcun concetto di scadenza come JWT, cookie o altro tipo di token (Nota: quando si dice expiracy non mi riferisco alla scadenza della password come in "È necessario modificare la password ogni 3 mesi" ma le credenziali come schema di autenticazione)

Anche se si tenta di utilizzare l'autenticazione di base per inviare un cookie di sessione, i browser continueranno a inviare le credenziali nell'intestazione dell'autorizzazione.

Se usi le richieste AJAX, il mio consiglio sarebbe di restare con l'autenticazione basata su cookie o migrare a JWT. Nota che se l'API viene chiamata da un altro hostname (ad esempio www.esempio.com chiama un'API in api.example.com), il corrispondente Le intestazioni CORS per consentire le credenziali devono essere impostate correttamente

    
risposta data 16.09.2018 - 16:48
fonte

Leggi altre domande sui tag