Strategia di autorizzazione / autenticazione per le app di micro-servizio

0

Come si può imporre un'autorizzazione / autenticazione per le app di micro-servizi? E inoltre, come ottenere SSO (single sign-on) dal punto di vista dell'utente finale?

E.g: si supponga che un sito di acquisti che ha molti servizi micro. Una volta che un utente è autenticato in un'app di servizio micro, quell'utente dovrebbe essere in grado di accedere senza problemi ad altre app di microservizi su quel sito.
Come l'app del carrello, l'app di suggerimento / consiglio, l'app di ricerca ecc.

  1. Come implementare questo tipo di autorizzazione / autenticazione?
  2. Oauth, SAML si inserisce in questi scenari?
posta user1222729 19.07.2015 - 11:43
fonte

1 risposta

1

Questo suona diverso da quello che ho sentito in precedenza. La mia comprensione di una tipica architettura di microservizi è che avresti una varietà di microservizi a grana fine, combinati insieme in una o più applicazioni a grana grossa.

In questa vista, probabilmente avrai una singola app Web di E-Commerce, che utilizza una varietà di microservizi nel back-end (il servizio di carrello, il servizio di suggerimento, il servizio di ricerca, ecc.).

Se questo è il caso, c'è solo una "app" con cui l'utente interagisce: l'app Web. L'utente accederà all'app Web e quindi l'ID dell'utente verrà recapitato ai vari microservizi back-end.

Se l'app Web comunica con i servizi di back-end utilizzando un'interfaccia privata, è sufficiente passare direttamente l'ID utente - non è affatto diverso dal passare, ad esempio, un ID utente in una query di database. Se hai un'interfaccia pubblica che stai utilizzando, potresti dover passare qualcosa come una sessione chiave, anche se ciò dipenderebbe esattamente da quale tipo di interfaccia pubblica hai.

Nota: tutto questo presuppone che si stia parlando di un'architettura di microservizi lato server, dal momento che si cita l'elenco "rotaie" come tecnologia correlata, ma non nulla specificatamente lato client. Utilizzare le API web su Ajax è qualcosa che considererei un argomento separato.

    
risposta data 19.07.2015 - 13:05
fonte

Leggi altre domande sui tag