2017-04-24 46 views
1

我目前有一个非常简单的休息api,允许用户通过基本安全认证。我的角客户端从登录输入接收电子邮件和密码,并从服务器获取用户。电子邮件和密码在http头中发送。问题是,当我的安全筛选器(JAX-rs java,球衣后端impl)得到我的验证标头为空时。Angular 2 auth http headers empty

我是否将它们从角度发送空?

getSecuredUser(email: string, password: string){ 
    let headers: Headers = new Headers(); 
    headers.append("Authorization", "Basic " + email + ":" + password); 
    headers.append("'Access-Control-Allow-Origin': '*' ", "application/x-www-form-urlencoded"); 
    return this.http.get(DEFAULT_PATH + 'users/' + email, headers).subscribe(
     (data: Response) => { 
     var result = data.json(); 
     return result; 
     } 
    ); 
    } 
+0

请问您在浏览器中检查网络调试控制台是否包含AUTH标头?你的代码看起来很好 –

回答

0

你的问题是基本身份验证的标题。

getSecuredUser(email: string, password: string){ 
    let headers: Headers = new Headers(); 
    headers.append("Authorization", "Basic " + btoa(`${email}:${password}`); 
    headers.append("'Access-Control-Allow-Origin': '*' ", "application/x-www-form-urlencoded"); 
    return this.http.get(DEFAULT_PATH + 'users/' + email, {headers: headers}).subscribe(
     (data: Response) => { 
     var result = data.json(); 
     return result; 
     } 
    ); 
    }