IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Angular12 et Spring MVC


Sujet :

Angular

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut Angular12 et Spring MVC
    Bonjour

    Je connecte une application Angular12 en récupérant un "Back" existant en Spring MVC, sur lequel j'ai peu de prise.
    J'ai pus quand meme rajouter une authentification de logn en JWT qui me permet d'acceder à certains services REST principalement en GET
    Néanmoins sur les requetes de type "POST" j'ai un 403 avec le message
    [http-nio-8081-exec-4] DEBUG org.springframework.security.web.csrf.CsrfFilter - Invalid CSRF token found for http://localhost:8081/appli1/api/dossier/recherche

    J'ai pus acceder au sources de l'ancien "Front" que je remplace et j'ai trouvé un cookies XSRF-TOKEN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    dataType: "json",
            transport: {
                read:  {
                    method: 'POST',
                    url: UtilService.generateApiUrl("dossier/recherche"),
                    beforeSend: function(xhr) {
                        xhr.setRequestHeader('X-XSRF-TOKEN', $cookies.get("XSRF-TOKEN"));
                    }
                }
    J'ai don essayé sans résultat de faire la même chose avec ngx-cookes en récuperant le cookie depuis mon interceptor JWT, mais il est vide !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    export class JwtInterceptor implements HttpInterceptor {
      constructor(private authenticationService: AuthService,private cookieService: CookieService) { }
     
      intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        //pour test
        let cookieXSFR= this.cookieService.get("XSRF-TOKEN");
        console.log("test COOKIE:"+cookieXSFR); //VIDE
    J'utilise un proxy.conf pour mes tests
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    {
      "/api/*": {
        "target": "http://localhost:8081",
        "secure": false,
        "pathRewrite": {
          "^/api/": "/appli1/api/"
        },
        "changeOrigin": true,
        "logLevel": "debug"
     
      }
    }

    mon cookie est bien vide dans mon interceptor et aussi dans ma méthode !
    Dans mon onglet Network je vois bien un COOKIE
    Que me manque t'il ?
    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    XSRF-TOKEN

    sauf erreur le XSRF est une protection pour les formulaires
    un token avec un code XSRF est inclus en hidden dans un champs
    ainsi le serveur quand il reçoit le retour du formulaire il regarde si le XSRF est le même que celui qu'il avait envoyé

    faut obtenir le XSRF, comment faire ça ? en demandant le formulaire ? ça fait bidouille...

    peut être que le forum Java pourra te répondre

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 705
    Points : 934
    Points
    934
    Par défaut
    Bonjour

    Coté Spring MVC dans le cas ou je passe par la méthode d'authentification en JWT je rajoute le cookie XSRF dans la réponse, cela me permet d'acceder à ma methode . Ouf

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Spring MVC] Récupérer des valeurs de formulaires sur n pages
    Par ran_hery dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/04/2006, 07h23
  2. Réponses: 2
    Dernier message: 16/02/2006, 10h29
  3. [Spring MVC][Validator] Ne stop pas si il y a une erreurs
    Par Hikage dans le forum Spring Web
    Réponses: 3
    Dernier message: 15/02/2006, 09h43
  4. [Débat] Spring MVC versus Struts
    Par alheim dans le forum Frameworks Web
    Réponses: 6
    Dernier message: 19/12/2005, 10h13
  5. [Spring MVC] Formulaire dynamique
    Par partyboy dans le forum Spring Web
    Réponses: 7
    Dernier message: 17/10/2005, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo