Implementazione dell'autenticazione interna propria

1

Prima ti chiedo scusa se questo argomento è troppo soggettivo o non abbastanza concreto.

Voglio implementare una API di accesso per un servizio Web interno presso la mia azienda utilizzando asp web api 2. So come implementare un sistema token owin portatore per uno scenario di accesso utente singolo per un singolo sito web.

Il problema qui è che voglio fornire una singola fonte di accesso per tutte le diverse applicazioni web che realizzeremo in futuro. Un utente accederà a questa fonte, salverà il token come cookie (o qualcosa di simile) e poi continuerà a lavorare da qualsiasi numero di diverse app Web in seguito.

Finora sembra che tutti i token Web esterni siano orientati con Facebook o Google, quindi il login esterno non sembra essere il modo in cui voglio andare. Non voglio dover riscrivere la logica di autenticazione ogni volta che creo una nuova applicazione web. Come dovrei progettare la mia applicazione in modo che possa accedere utilizzando una semplice API Web singola per token e integrare facilmente l'autenticazione in qualsiasi nuova applicazione Web che creiamo?

* Nota: abbiamo un repository Nuget interno che possiamo usare per questo effetto.

    
posta Mr. MonoChrome 22.12.2014 - 18:01
fonte

1 risposta

2

Sembra che tu stia cercando qualcosa di simile a ciò che OAuth fornisce già, o qualcosa che rientra nella categoria più ampia di Single Sign-on , Federated Identity e / o Provider di servizi di credenziali .

Quindi la buona notizia è che probabilmente esiste già qualcosa che soddisferà le tue esigenze. I vantaggi qui sono che non stai rotolando il tuo sistema di autenticazione e quindi devi inseguire i difetti di implementazione che hai inavvertitamente creato. Un altro vantaggio è che tali approcci sono più comuni o riconosciuti e più probabilmente accettabili per altri utenti.

La cattiva notizia è che dovrai aggiornare il sistema almeno un po 'ogni volta che autorizzi un altro fornitore. Sono stati apportati miglioramenti per rendere le cose più generiche, ma c'è ancora una modesta misura di codifica richiesta per ciascun fornitore che si desidera utilizzare.

Se tutti i servizi di autenticazione che desideri utilizzare sono interni, probabilmente sarai in grado di configurare i provider una sola volta e farli funzionare per un po 'di tempo.

Per quanto riguarda la strutturazione delle applicazioni Web, è sufficiente creare un modulo dedicato per gestire il componente di autenticazione a livello di servizio Web. Ogni chiamata di pagina / servizio preleva le credenziali dell'utente richieste dal client e quindi trasmette tali credenziali al componente di autenticazione. Il componente di autenticazione può fornire un semplice valore booleano per consentire al resto della chiamata di continuare o uscire.

    
risposta data 27.12.2014 - 21:43
fonte

Leggi altre domande sui tag