Proteggiamo i nostri servizi REST (per comunicazioni server-server, nessun utente coinvolto) con Spring Security OAuth2. Tuttavia, quando si cerca di accedere a una risorsa protetta in un browser, mostrerà:Personalizza SpringSecurity OAuth 2 Error Output (non autorizzato)
<oauth>
<error_description>
An Authentication object was not found in the SecurityContext
</error_description>
<error>unauthorized</error>
</oauth>
Vogliamo che questa sia una pagina personalizzata di nostra scelta. C'è un modo?
L'impostazione della pagina di accesso negato non verrà eseguita. Per uno richiede la definizione di una pagina di accesso che non abbiamo in quanto si tratta di una pura comunicazione server-server. Per un altro questo attributo è presumibilmente deprecato dalla primavera 3.0 .. o qualcosa del genere.
In ogni caso .. Debug in modo corretto nella gestione degli errori di OAuth. E ho scoperto che la risposta sembra in qualche modo arricchirsi con le informazioni che vedo nella pagina degli errori. Apparentemente nessun rendering di pagina è stato fatto, quindi sembra che non ci sia una pagina di errore da sostituire ..?!
Almeno vogliamo nascondere il fatto che usiamo OAuth e basta visualizzare un testo "Negato" di base se non possiamo avere una pagina "reale" .. Quindi forse dovrò estendere il gestore di sicurezza di primavera o aggiungi un filtro personalizzato per modificare la risposta ?!
Forse un reindirizzamento alla nostra pagina di errore?
Grazie!
Modifica
per il nostro check configurazione attuale my other SO question here
Sto provando a fare la stessa cosa al momment. Non sai ancora come, se hai una soluzione, per favore condividi. Ho trovato questa discussione sul forum (link sotto), e sembra che abbia qualcosa a che fare con l'utilizzo del gestore di RestTemplate ... http://forum.springsource.org/showthread.php?132846-Securing-REST-with-OAuth2 -Authentication-object-was-not-found-in-the-SecurityContext – rafaelxy
Penso di aver capito ora, il server OAuth non gestirà l'errore e il reindirizzamento, che è una responsabilità dell'applicazione client che tenta di autenticare. Ho ragione? – rafaelxy
Non lo so se questo funzionerà con OAuth ma non farebbe questo il lavoro? security: http> –