2017-04-24 1 views
1

J'ai actuellement une API de repos très simple, qui permet l'authentification de l'utilisateur grâce à la sécurité de base. Mon client angulaire reçoit l'email et le mot de passe d'une entrée de connexion, et obtient l'utilisateur du serveur. email et mot de passe sont envoyés dans les en-têtes http. Le problème est, quand mon securityfilter (JAX-RS java, jersey backend impl) je reçois que mes en-têtes auth sont vides. Est-ce que je leur envoie vide d'angulaire?Angulaire 2 auth http entêtes vide

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

veuillez vérifier la console de débogage réseau dans votre navigateur pour vérifier si elle contient des en-têtes AUTH ou non? votre code a l'air bien –

Répondre

0

votre problème est les en-têtes de l'authentification de base.

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; 
     } 
    ); 
    }