Stiamo implementando un'applicazione web (Stati Uniti) che ha bisogno di scambiare informazioni sensibili con un'applicazione web di terzi (LORO). Il modo in cui vorremmo che funzioni è che un utente finale fa clic su un collegamento ipertestuale, naviga verso l'applicazione web di terzi e magicamente le informazioni sensibili sono disponibili per l'applicazione Web di terzi.
Come ci si aspetterebbe, preferiremmo non inviare tali informazioni sensibili insieme all'URL che l'utente ha fatto clic. Non controlliamo l'applicazione web di terzi, ma possiamo imporre come si integrano con la nostra applicazione web. Vorremmo tenerlo il più semplice possibile da una prospettiva tecnologica (dalla barra bassa all'entrata per così dire). Ovviamente abbiamo il pieno controllo sulla nostra applicazione web.
Stavamo pensando di avere una sorta di usabile una tantum, generato casualmente, limitato nel tempo, token di accesso.
- Supponiamo che l'utente finale sia stato identificato / autenticato.
- L'utente finale fa clic su un collegamento che ottiene un token di accesso dalla nostra applicazione web. Poiché tutte le informazioni sensibili sono disponibili sul lato server, non è necessario condividerle con il browser dell'utente finale. Archiviamo il token di accesso e la sua data e ora di scadenza insieme alle informazioni sensibili. Le informazioni sensibili non possono essere derivate dal token di accesso stesso. La nostra applicazione web reindirizza il browser dell'utente finale all'applicazione web di terzi con il token di accesso nell'URL di reindirizzamento.
- L'applicazione Web di terzi riceve la richiesta in arrivo e utilizza il token di accesso per ottenere le informazioni sensibili inviando una richiesta lato server per le informazioni alla nostra applicazione web. La nostra applicazione web restituisce le informazioni sensibili e ora l'applicazione web di terze parti può utilizzare tali informazioni. Ovviamente gestiremo la rimozione dei token di accesso, la scadenza, ecc.
A parte qualcuno che è in grado di ottenere il token di accesso in transito e che deve proteggere lo spazio di accesso per i token e le comunicazioni lato server tra la nostra applicazione e l'applicazione di terze parti, vede altri buchi di sicurezza? Invece di rolling our c'è qualche ampiamente standard adottato che potremmo usare invece?