Ho creato un'API Web in ASP.NET che funge da punto di ingresso in un database SQL Server per i dati del report. Questo servizio ha un endpoint "token" che autentica un utente tramite l'identità ASP e restituisce un accesso di 20 minuti e un token di aggiornamento di 2 settimane.
Questa API dovrebbe essere accessibile solo tramite le nostre app e i nostri prodotti. Scriveremo un'app per Android, un'app per iOS e un'applicazione web ASP.NET che eseguirà l'autenticazione e otterrà i dati da questa API Web sopra descritta. Sarò responsabile per l'applicazione Web del client ASP.NET e l'API. Stiamo costruendo queste app tutte internamente affinché i nostri clienti possano accedere e utilizzare. Nessuna terza parte al di fuori della mia azienda chiamerà la nostra API attraverso una qualsiasi delle proprie app.
Per la mia app web ASP.NET del mio cliente, la sto scrivendo in ASP.NET MVC e in realtà non ha un database sin da quando comunica con l'API per tutto.
Ho iniziato con questo come base e funziona ... ma ora ho bisogno di convertire questo file HTML in un'app Web ASP.NET in MVC e capire dove e come conservare il token di accesso e aggiornare gettoni. link /
Le mie domande sono:
-
Capisco che dovrò passare il token di accesso nelle chiamate successive all'API per eseguire operazioni CRUD. Dove devo fare la mia richiesta web per autenticare l'utente sull'app Web al momento dell'accesso ... dal codice C # dietro o JavaScript come nell'esercitazione di cui sopra? Chiedo perché mi rendo conto che ho bisogno del token di accesso nelle mie chiamate JS Ajax, ma ho sentito che il token di aggiornamento deve essere più "sicuro" e chiamare dal codice server potrebbe darmi opzioni più sicure per farlo ??
-
Dove posso archiviare il token di accesso? In un cookie creato in JavaScript o nel server? Nella memoria locale JavaScript? In una variabile di sessione che posso passare allo JavaScript forse?
-
Dove posso conservare il token di aggiornamento? Avrò bisogno di questo per rinnovare il token di accesso prima che stia per scadere. Ho cercato su Google fino alla morte, ma non riesco a trovare una buona soluzione ASP.NET online che mi indichi dove o come archiviarla dal punto di vista della mia web application. Un cookie creato dal server, salvato in un DB SQL che l'app Web utilizza, in una variabile di sessione?
Ho un disperato bisogno di aiuto, e questo mi sta facendo impazzire e mi tiene sveglio la notte. Spero che qualcuno possa fornire un esempio completo e semplice e descrivere completamente ciò che devo fare.