JWT come nonce in backend senza sessione

2

Sto creando un server API (un gateway) con due limitazioni in mente:

  1. Deve essere senza sessione (nessun ID di sessione in un cookie o in nessun luogo, nessun Redis o qualcosa del genere)
  2. Devo utilizzare una concessione implicita fornita da un provider di identità di terze parti con il protocollo simile a OAuth 2.

Normalmente le persone generano un nonce per impedire un attacco di riproduzione. Nonce è archiviato in una sessione e inviato al provider di identità. Il provider di identità, infine, lo restituisce al server API tramite un callback. Il server deve recuperare il nonce dalla sessione corrente e confrontarlo con quello ricevuto attraverso il callback. Tutto bello e dolce se hai una sessione. Io non.

Qual è una soluzione ampiamente accettata per questo?

Sarebbe positivo se io, dal mio lato (server API), generi un nonce, crei un JWT con questo nonce, metti una breve scadenza (es. 5-10 minuti), firmi con il mio segreto e invialo come un nonce al provider di identità? Quindi, nella funzione di richiamata, recupererò il nonce (JWT) e convaliderò la sua scadenza, la firma e altri parametri. E poi, se tutto va bene, accetta il resto del payload di callback.

    
posta Sergey Anisimov 15.12.2017 - 18:53
fonte

0 risposte

Leggi altre domande sui tag