我有一个用户登录的应用程序,并向nodeJs后端发送一些请求 . 在我的应用程序中,我首先发送一个虚拟请求然后我得到一个_csrf和XSRF-token我将它们设置为 Headers 并发送登录详细信息 . 在登录响应中,我在cookie中获得了一个新的XSRF令牌 . 我需要将其添加到登录后我执行的帖子请求的 Headers 中 .
这是我的auth.service.ts
export class AuthService {
authToken: any;
user: any;
constructor(private http: Http) { }
registerUser(user) {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('users/register', user, { headers: headers })
.map(res => res.json());
}
authenticateUser(user) {
let headers = new Headers();
headers.append('Content-Type', 'application/json');
return this.http.post('users/authenticate', user, { headers: headers })
.map(res => res.json());
}
getProfile() {
let headers = new Headers();
this.loadToken();
headers.append('Authorization', this.authToken);
headers.append('Content-Type', 'application/json');
return this.http.get('users/profile', { headers: headers })
.map(res => res.json());
}
storeUserData(token, user) {
localStorage.setItem('id_token', token);
localStorage.setItem('user', JSON.stringify(user));
this.authToken = token;
this.user = user;
}
loadToken() {
const token = localStorage.getItem('id_token');
this.authToken = token;
}
loggedIn() {
return tokenNotExpired('id_token');
}
logout() {
this.authToken = null;
this.user = null;
localStorage.clear();
}
}
我在登录后发送邮件请求的组件
export class DashboardComponent implements OnInit {
form: FormGroup;
authToken: any;
public data:any[];
constructor(private http:HttpClient) { }
ngOnInit() {
}
@ViewChild('f') tslForm: NgForm;
onTslSubmit(f){
var tslDetails={investingAmount:f.value.investingAmount,tradeStartAmount:f.value.tradeStartAmou$
this.add(tslDetails).subscribe(data =>{
console.log(data,"response of send request");
},error =>{
console.log(error,"error");
});
this.tslForm.reset();
}
add(data: any){
console.log(data,"before submit data");
const token = localStorage.getItem('id_token');
this.authToken = token;
console.log("authToken: "+this.authToken);
const httpOptions = {
headers: new HttpHeaders({
'Authorization':this.authToken,
})
}
return this.http.post("http://0.0.0.0:3000/dummyurl", data, httpOptions).map((res: Response)=>$
}
}
我需要发送一个帖子请求,其中包含已更新的XSRF令牌和cookie作为邮寄员的此帖子请求 .