Comment ajouter un jeton csrf angulaire 2 application
J'ai activé le CSRF dans le java back-end (en SecurityConfig.java fichier) en raison de maintenir les sessions de l'utilisateur entre les angular2 et de printemps de l'application. mais quand le post de présentation tiré, je n'ai pas vu de jeton CSRF lié à la requête POST.
Comment serait possible d'ajouter le CSRF jeton de mon angular2 app.
(ajouter à la requête post )
loginService.ts
userLogin(loginDTO){
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
var result = this._http.post(this._rest_service_login, JSON.stringify(loginDTO),options)
.map(res => res.json());
return result;
}
OriginalL'auteur Sadun89 | 2016-08-18
Vous devez vous connecter pour publier un commentaire.
Vous devriez jeter un oeil à la guide du développeur d'Angular2. Vous pouvez mettre en œuvre une stratégie (ou en utiliser une existante) en utilisant des fournisseurs.
RC.5
RC.4
Vous pouvez également mettre en place une stratégie personnalisée pour votre application à l'aide de la suite de fournisseur de
{ provide: XSRFStrategy, useClass: MyXSRFStrategy}
.Dans le module de fournisseurs, j'ai ajouter des détails dans la réponse
Ci-dessous composant ne fonctionne pas avec moi. Im en utilisant RC4. =====================================================
@Component({ providers: [ {provide: XSRFStrategy, useValue: new CookieXSRFStrategy('myCookieName', 'My-Header-Name')}, {provide: XSRFStrategy, useClass: MyXSRFStrategy} ] })
J'obtiens cette erreur
"Could not verify the provided CSRF token because your session was not found"
J'ai fait un edit pour le RC.4. @GauravRam Quelle stratégie utilisez-vous ? Êtes-vous sûr de votre côté serveur fonctionne correctement ?
OriginalL'auteur Nicolas Henneaux
Vous pouvez avoir
CookieXSRFStrategy: Calling function 'CookieXSRFStrategy', function calls are not supported
tout en utilisantnew CookieXSRFStrategy('myCookieName', 'My-Header-Name')}
directement. L'utilisation d'une usine pour éviter cette erreur comme ci-dessous :OriginalL'auteur Radouane ROUFID
Pouvez-vous lire la valeur du cookie(par défaut "XSRF-TOKEN") en JavaScript par en dessous?
(pas d'outil de développement.)
si il ne peut pas lire,vous avez peut-être erreur, comment définir le cookie.
chemin du cookie doit être définie de la racine("/") comme ci-dessous.
OriginalL'auteur harufumi.abe
Dans mon cas, le problème était sur le côté arrière (comme souligné à juste titre harufumi.abe) - mes témoins sont venus avec un chemin d'accès /mon-domaine au lieu de /.
Après l'ajout de la mise sur le backend (printemps boot 2.0)
tout a commencé à travailler à l'extérieur de la boîte.
OriginalL'auteur midorum