Dove immaginereste un'applicazione web ASP.NET MVC 5 su un database MSSQL, sono stato collocato in una situazione in cui dovrei usare endpoint di token esterni personalizzati e utilizzare il portatore token per effettuare chiamate API autenticate.
Sto, di fatto, tentando di creare un'applicazione web (n as) databaseless (come possibile) ASP.NET MVC 5.
Queste fasi sono, forse non per il libro, ma riuscite:
- middleware
OWIN
personalizzato che utilizza questi token e gli endpoint auth - un'identità in memoria che viene costruita, in base a ciò che torno dall'endpoint dell'utente e che contiene, tra le altre cose, il token bearer e i ruoli come attestazioni esterne, che vengono tutti portati in primo piano come vera identità
Claims
. - La possibilità di effettuare chiamate API autenticate a questa API REST esterna e dati GET / POST utilizzando detto token bearer (utilizzando RestSharp).
Ora mi trovo in un incrocio:
- Dovrò capire come implementare i ruoli di identità e far sì che funzioni per consentire / proteggere alcuni contenuti e funzionalità in base ai ruoli che ottengo dalla risposta dell'endpoint. Questi sono praticamente gerarchici (admin, keyuser, user).
- Come farò a procedere poiché non ho uno strato O / RM? Immagino che continuerei semplicemente a creare i miei modelli di dominio e i modelli di visualizzazione, se necessario?
- Sto cercando di capire come fare tutto questo come "dbless" il più possibile, evitando possibilmente di eliminare le famigerate tabelle normalmente generate da ASP.NET per il suo lavoro sporco di Identity. O inevitabilmente mi imbatterò nella necessità di mantenere almeno alcuni dati da solo?
- Se necessario, potrei essere in grado di convincere il backend a concedere il mio desiderio e memorizzare (POST) il mio% co_de arbitrario (ad esempio, l'utente aggiunge il suo numero di telefono).
- Ho lavorato sulle mie classi
Claims
,ApplicationUser
,UserStore
,RoleStore
ecc. È questa la strada da percorrere? Avrò anche bisogno di loro in questo caso?
A questo punto sono abbastanza perso su come dovrei procedere. Qualcuno ha esperienza di "shelling" di un'app MVC 5 su un'API RESTful esterna senza UserManager
e quali sono le insidie di cui dovrei essere consapevole?
Come puoi immaginare, sto avendo una crisi di fede qui. Sto "superando" un sacco di incognite e sono contento di essere arrivato così lontano, ma mi chiedo se tutto ciò possa essere fatto completamente, visto che sto imparando anche Identity "on the go". Non è un grande scenario, ma deve essere fatto entro un periodo di tempo limitato.
Le informazioni su ciò che sto tentando di tentare sono inesistenti ...
Qualsiasi intuizione sarebbe quindi incredibilmente apprezzata.