如何在Angular2 RC6中为您的http请求添加标头?我得到以下代码:
login(login: String, password: String): Observable<boolean> {
console.log(login);
console.log(password);
this.cookieService.removeAll();
let headers = new Headers();
headers.append("Authorization","Basic YW5ndWxhci13YXJlaG91c2Utc2VydmljZXM6MTIzNDU2");
this.http.post(AUTHENTICATION_ENDPOINT + "?grant_type=password&scope=trust&username=" + login + "&password=" + password, null, {headers: headers}).subscribe(response => {
console.log(response);
});
//some return
}
Run Code Online (Sandbox Code Playgroud)
问题是,angular不会添加Authorization标头.而不是那样,在请求中我可以看到以下附加标题:
Access-Control-Request-Headers:authorization
Access-Control-Request-Method:POST
Run Code Online (Sandbox Code Playgroud)
并在Accept-Encoding中添加了sdch:
Accept-Encoding:gzip, deflate, sdch
Run Code Online (Sandbox Code Playgroud)
不幸的是,没有授权标头.我该如何正确添加?
我的代码发送的整个请求如下:
OPTIONS /oauth/token?grant_type=password&scope=trust&username=asdf&password=asdf HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Access-Control-Request-Method: POST
Origin: http://localhost:3002
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Access-Control-Request-Headers: authorization
Accept: */*
Referer: …Run Code Online (Sandbox Code Playgroud) 大家.我是Angular 2和Spring Framework的新手.我正在尝试使用授权标头(基本身份验证)的简单获取请求.
我正在使用Spring Boot(1.2.6.RELEASE),这也是相关的.我的CORS配置如下所示.
@Component
public class SimpleCorsFilter implements Filter {
private final Logger log = LoggerFactory.getLogger(SimpleCorsFilter.class);
public SimpleCorsFilter() {
log.info("SimpleCORSFilter init");
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me, authorization, x-auth-token");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig filterConfig) {
}
@Override
public void destroy() …Run Code Online (Sandbox Code Playgroud)