import {Component, OnInit} from '@angular/core';
import {HttpClient, HttpErrorResponse, HttpResponse} from '@angular/common/http';

@Component({
  selector: 'git',
  templateUrl: './git.component.html'
})

export class GitComponent implements OnInit {
  constructor(private http: HttpClient) {
  }
  ngOnInit(): void {
    const headers = {authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzYXNobyIsImF1dGgiOiJST0xFX1VTRVIiLCJleHAiOjE1MjQwODcyMzJ9.MUv5RgI9LxQyrrCfjfX8HR2-XiQmz4vjLqH7V_0Du7VFLC0WrK_y3FfeNoT2Nj_uguIK2ss7jv-LNiHuCGtz4A'};
    this.http.get('http://localhost:8080/links/all', headers)
      .subscribe((e) => {
        console.log(e);
      }, (err: HttpErrorResponse) => {
        console.log(err);
      });
  }
}

Wie setze ich in http.get die Autorisierung? Ich möchte das in const headers gespeicherte Inhaber-Token verwenden. Das ist alles. Vielen Dank

Bearbeiten: Ich habe vergessen zu erwähnen, dass ich wissen wollte, wie man es hier manuell und nicht mit einem Abfangjäger einstellt. Alle Tutorials waren mit Abfangjägern und so konnte ich es nicht herausfinden

0
Alexander 18 Apr. 2018 im 10:47

4 Antworten

Beste Antwort

Versuche dies:

import {Component, OnInit} from '@angular/core';
import {HttpClient, HttpErrorResponse, HttpResponse} from '@angular/common/http';

@Component({
  selector: 'git',
  templateUrl: './git.component.html'
})

export class GitComponent implements OnInit {
  constructor(private http: HttpClient) {
  }
  ngOnInit(): void {
    const headers =  'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzYXNobyIsImF1dGgiOiJST0xFX1VTRVIiLCJleHAiOjE1MjQwODcyMzJ9.MUv5RgI9LxQyrrCfjfX8HR2-XiQmz4vjLqH7V_0Du7VFLC0WrK_y3FfeNoT2Nj_uguIK2ss7jv-LNiHuCGtz4A';
    this.http.get('http://localhost:8080/links/all', {
      headers: new HttpHeaders().set('Authorization', headers )
    })
      .subscribe((e) => {
        console.log(e);
      }, (err: HttpErrorResponse) => {
        console.log(err);
      });
  }
}
2
Houssem Romdhani 18 Apr. 2018 im 07:56

Sie benötigen Ihr Header-Objekt in einem anderen Objekt get(....., { headers })

Das zweite Argument ist ein allgemeines options Objekt für headers, Anforderung params usw. Siehe https://angular.io/api/common/http/HttpClient

(Im Gegensatz zu einigen anderen Antworten müssen Sie den Header nicht in ein HttpHeaders -Objekt einschließen, da der akzeptierte Typ überladen ist.)

0
Fergus Gallagher 18 Apr. 2018 im 08:00

Sie können sich Angular http interceptor ansehen, um an jede ausgehende Anforderung ein Token anzuhängen: https://medium.com / @ ryanchenkie_40935 / Winkelauthentifizierung unter Verwendung des http-Clients und der http-Interceptors-2f9d1540eb8

0
Jernej Habjan 18 Apr. 2018 im 07:52

Versuche so etwas:

let authorization: 'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzYXNobyIsImF1dGgiOiJST0xFX1VTRVIiLCJleHAiOjE1MjQwODcyMzJ9.MUv5RgI9LxQyrrCfjfX8HR2-XiQmz4vjLqH7V_0Du7VFLC0WrK_y3FfeNoT2Nj_uguIK2ss7jv-LNiHuCGtz4A'

 let header: Headers = new Headers;
        header.set('authorization', this.authorization);
        this.http.get('http://localhost:8080/links/all', 
    {headers: header}).subscribe((e) => {
    console.log(e);
  }, (err: HttpErrorResponse) => {
    console.log(err);
  });
1
Fateme Fazli 18 Apr. 2018 im 07:55