在Angular中的GET请求上发送标头

时间:2018-03-20 18:13:17

标签: angular get header request http-headers

我尝试发送http GET请求并接收包含用户列表的JSON响应。我开发了一个简单的身份验证过程,每次用户登录时,授权令牌都存储在本地存储中。我需要在请求的标头中发送带有令牌的GET请求。

结果是401 - 未经授权。我的猜测是令牌没有被发送,因为当我尝试在没有令牌的情况下发送请求时,我得到了相同的错误。

我尝试过很多不同的方式,我在互联网上找到了,但到目前为止还没有。

这是我用来获取用户列表的服务

import { RequestOptions, Headers } from '@angular/http';
import { User } from './../interfaces/user';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable, Inject } from "@angular/core";
import 'rxjs/add/operator/map';
import { Observable } from 'rxjs/Rx';

@Injectable()
export class UserService{
token: string;

constructor (private http: HttpClient) { }
getUsers(): Observable<any>{
    this.token = localStorage.getItem("auth-token");

    const header = new HttpHeaders();
        header.set('Authorization', 'Bearer '+ this.token),
        header.set('Content-Type', 'application/json'),
        header.set("Access-Control-Allow-Origin", "*");
        header.set("Access-Control-Allow-Credentials", "true");
        header.set("Access-Control-Allow-Methods", "GET,POST,OPTIONS,PUT,DELETE");
        header.set("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Authorization, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");

    return this.http
        .get("http://localhost:50681/api/User", { headers: header })
        .map(res => console.log(res));
    }
}

我已经允许CORS以及后端所需的一切。

Here's the error

我错过了什么吗? 任何帮助都是apreciated

0 个答案:

没有答案