Авторизация углового набора в заголовке HttpClient.get

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.info(e);
      }, (err: HttpErrorResponse) => {
        console.info(err);
      });
  }
}

В http.get как установить авторизацию? Я хочу использовать токен на предъявителя, сохраненный в const headers. Это все. Спасибо

Обновлено: я забыл упомянуть, что я хотел знать, как установить его вручную здесь, а не с перехватчиком, все учебники, где с перехватчиками, и поэтому я не мог понять это

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
1 338
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вы можете посмотреть на Angular http-перехватчик, чтобы добавить токен к каждому исходящему запросу: https://medium.com/@ryanchenkie_40935/angular-authentication-using-the-http-client-and-http-interceptors-2f9d1540eb8

попробуйте что-нибудь вроде этого:

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.info(e);
  }, (err: HttpErrorResponse) => {
    console.info(err);
  });
Ответ принят как подходящий

Попробуй это:

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.info(e);
      }, (err: HttpErrorResponse) => {
        console.info(err);
      });
  }
}

Ты за ответ, я просто хочу немного подружиться. Это возвращает результат от бэкэнда, но как я могу получить статус ответа http, например, 200, 400, 404, 403?

Alexander 18.04.2018 10:11

Чтобы получить статус ответа: e.status из ответа

Houssem Romdhani 18.04.2018 13:49

Вам нужен ваш объект заголовков внутри, другой объект get(....., { headers })

Второй аргумент - это общий объект options, для headers запрос params и т. д. См. https://angular.io/api/common/http/HttpClient

(В отличие от некоторых других ответов, вам не нужно переносить заголовок в объекты HttpHeaders, поскольку принятый тип перегружен)

Другие вопросы по теме