Configuration:Spring Boot et sécurité: comment étendre la réponse pour le code d'état 302?
- l'application Boot Spring
- sécurité OAuth2
- ReactJS pour la mise en œuvre de l'interface utilisateur
utilisation:
- Connectez-vous à l'application
- ouvrir un autre onglet avec la même application dans un même navigateur
- Déconnexion de l'application dans l'un des onglets, l'utilisateur est redirigé vers Connexion vue
- Aller au premier onglet (utilisateur déjà déconnecter et si je rafraichir la page j'obtenir connexion formulaire) et effectuer une action qui déclenche la requête POST/PUT/PATCH. Exemple de demande et la réponse ci-dessous:
Demande:
Request URL:http://localhost:8080/api/info
Request Method:PUT
Status Code:302 Found
Remote Address:[::1]:8080
Referrer Policy:no-referrer-when-downgrade
accept:application/json
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8,sv;q=0.6,ru;q=0.4,uk;q=0.2,fr;q=0.2
Cache-Control:no-cache
Connection:keep-alive
Content-Length:66
Content-Type:application/json
Cookie:_ga=GA1.1.1868465923.1505828166; _gid=GA1.1.612220229.1507272075; session=e4oSW4Kq; prod_user_session=4d6b615f-521704; user_session=g3ggLxJDomyZ
Host:localhost:8080
mode:cors
Origin:http://localhost:8080
Pragma:no-cache
Referer:http://localhost:8080/profile
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
Réponse:
Cache-Control:no-cache, no-store, max-age=0, must-revalidate
Connection:keep-alive
Content-Length:0
Date:Fri, 06 Oct 2017 12:12:26 GMT
Expires:0
Location:http://localhost:8080/login
Pragma:no-cache
X-Content-Type-Options:nosniff
X-Frame-Options:DENY
X-XSS-Protection:1; mode=block
Après ce système de réponse déclenche la demande de mise à http://localhost:8080/login
et échoue parce que la méthode PUT pas permis pour http://localhost:8080/login
demande.
Question:
Je comprend que je reçois 302 et le statut Location:http://localhost:8080/login
tête parce que je suis déjà déconnecté. Je veux étendre la réponse pour ce cas avec le corps JSON ou au moins m'assurer que pour ce cas j'obtiendrai le code d'état 401 Unauthorised
au lieu de 302.