In Spring Boot application mi sono assicurato i miei endpoint Spring MVC REST con Spring Security e Spring OAuth2. Dispongo di propri server di autorizzazione \ Resource, quindi per poter comunicare con la nostra API, il client (AngularJS) deve ottenere acessToken dal mio server di autorizzazione API.Rest, Spring possiede il server OAuth2 + provider OAuth2 come Facebook, Google, Yahoo
Tutto funziona correttamente ma per l'autenticazione/autorizzazione sulla mia API, l'utente deve creare il suo account e fornirci il suo nome utente/password.
Mi piacerebbe semplificare questo processo e vorrei proporre all'utente di autenticarsi sulla mia API tramite Google/Facebook/Twitter o provider di Au.
In questo momento non ho una chiara comprensione di come deve funzionare .. Ad esempio una delle mie idee - Facebook pubblicherà il proprio accessToken e passerà di nuovo alla mia API. Sulla base di questo accesso, la mia API emetterà il proprio accessToken e lo riporterà all'applicazione client (AngularJS). O dovrei passare l'accesso a Facebook direttamente all'app del cliente?
Qual è l'architettura corretta per il caso descritto? Come dovrebbe funzionare?
Forse c'è qualche esempio che dimostra questa architettura basata sul framework Spring?
grazie per la risposta. Sembra fantastico, proverò questo solutone oggi dalla mia macchina di casa! Una domanda: funzionerà insieme al mio AuthServer OAuth2 implementato tramite Spring OAuth? – alexanoid
Dovrebbe funzionare con qualsiasi fornitore oauth2. Ma non impostare 'clientAuthenticationScheme' per un provider Spring (è disattivato nel server per impostazione predefinita). –
Grazie, voglio dire che ho già il mio server OAuth2 all'interno di questa applicazione (questo server OAuth2 fa parte di questa applicazione). E in aggiunta a questo metodo di autenticazione mi piacerebbe aggiungere provider Oauth2 esterni. Quindi funzionerà in questo caso? – alexanoid