voglio sviluppare due servizi indipendenti, uno per la roba di business e una per l'autenticazione degli utenti utilizzando Primavera OAuth 2Primavera OAuth: Server Resource con autorizzazione del server backend
Chiamiamoli business-Service e OAuth-Service.
Ora desidero il delegato Business-Service per il servizio OAuth se una richiesta non è autenticata. L'applicazione client (un'app per Android) non dovrebbe conoscere a priori il servizio OAuth, dovrebbe essere delegata ad esso dal Business Service con un reindirizzamento HTTP 302 per richiesta non autenticata. Per essere precisi, desidero che la mia pagina di destinazione dell'API fornisca un collegamento a http://businessservice.com/login e quando l'app del mio cliente decide di seguire questo link, viene reindirizzato al servizio OAuth.
Se annoto Business-Service con @EnableOAuth2Resource, tutte le sue risorse sono protette restituendo un 401 quando le arringo senza un token di accesso. Fin qui tutto bene. Se fornisco un token di accesso come questo:
curl -v http://localhost:8667/resource/ -H "Authorization: Bearer $TOKEN"
Posso accedere alla risorsa. Ancora buono.
Tuttavia, se annoto Business-Service con @EnableOAuth2Sso per abilitare il reindirizzamento al servizio OAuth, perde la possibilità di accedere alle risorse con un token di accesso (stesso curl come sopra), restituisce solo un 302 al login pagina http://localhost:8667/login
Se io uso entrambe le annotazioni, l'@ EnableOAuth2Resource sembra sempre di "vincere", come le opere di autenticazione, ma chiamando http://localhost:8667/login restituisce un 404.
Allora, qual è il modo giusto per creare un server di risorse che i delegati al server di autenticazione per le chiamate non autenticate?
potresti condividere come ottieni le informazioni utente nel server di risorse dopo l'utente è autenticato da oauth2? – Kane
@Kane, è troppo tardi, ma può aiutare gli altri. È possibile utilizzare i seguenti parametri negli endpoint: @RequestHeader (value = "Autorizzazione") String authorizationHeader, Principal currentUser – Sourabh