mi piacerebbe passare un RequestVerificationToken che è generato da un aiutante Razor MVC nel mio modulo di accesso a un servizio di AngularJS che ho fatto per gestire l'autenticazione della mia applicazioneAngularJS passano requestVerificationToken a un servizio
mia forma è la seguente:
<div ng-model="loginRequest" >
<form ng-submit="submit()" ng-controller="loginCtrl">
@Html.AntiForgeryToken()
<input id="username" ng-model="loginRequest.Username" type="text" name="text" />
<input id="password" ng-model="loginRequest.Password" type="text" name="text" />
<input type="submit" id="submit" value="Submit" />
<br/>
isValid: {{loginRequest.isValid}}
<br/>
username: {{loginRequest.Username}}
<br/>
Password: {{loginRequest.Password}}
</form>
</div>
l'@ Html.AntiForgeryToken() rende in questo modo:
<input name="__RequestVerificationToken" type="hidden" value="AVzyqDKHSPjaY7L_GTpkasMAABRQRVRFUkFMSUVOV0FSRVxQZWRybwA1">
mio controller AngujarJs inietta successo LY mio "loginService" e mi possono inviare via posta il nome utente e la password per il servizio
function loginCtrl($scope, loginService) {
$scope.submit = function() {
loginService.authenticate($scope.loginRequest,function(data) {
$scope.loginRequest.isValid = (data.User!=null);
//console.log(data);
});
};
}
il servizio:
angular.module('App.services', ['ngResource']).
factory('loginService',
function ($resource) {
return $resource('/Api/User/login', '',
{
authenticate: {
method: 'POST',
isArray: false,
headers: { 'X-XSRF-Token': '?????' }
}
});
});
La mia domanda è come posso leggere il token reso nella forma e passarlo al servizio e impostare un'intestazione con il token preso dal modulo di login, in quanto I as Know non è una buona pratica per manipolare il DOM e non so se avrò bisogno di creare una direttiva per eseguirlo compito quindi ogni suggerimento è benvenuto!
Speranza avete guardato http://www.infoq.com/news/2012/10/anti-forgery-aspnet-json e http://stackoverflow.com/questions/15574486/angular-against -asp-net-webapi-implement-csrf-on-the-server – Chandermani
sì, l'ho usato io per il servicestack per questo ho appena ottenuto tutto ciò che serve ho solo bisogno di sapere come passare il parametro al servizio! infatti penso di seguire un approccio molto simile come quello descritto qui http://stackoverflow.com/questions/15444781/angularjs-cant-find-xsrf-token-cookie –
la mia risposta ti ha aiutato? –