Angular 7: Как изменить http-запрос на https?Я пытался использовать Interceptor - PullRequest
1 голос
/ 28 апреля 2019

Я создаю угловое 7 приложение. В этом приложении я использую социальный логин Facebook. При использовании этого я получил ошибку консоли, говоря, что мой запрос должен быть https: // запросы. Поэтому я подумал об использовании перехватчика для преобразования http в https.

Я создал перехватчик для изменения моего http-запроса на https-запрос и сделал следующие изменения кода.

http.interceptor.ts:

import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent,HttpResponse }  from '@angular/common/http';
import { Observable } from 'rxjs';


@Injectable()
export class httpsInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

console.log(req.url);

const secureReq = req.clone({
  url: req.url.replace('http://', 'https://')
});     
return next.handle(secureReq);

}
}

app.module.ts:

import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { httpsInterceptor } from './interceptor/https.interceptor';


providers: [
 { provide: HTTP_INTERCEPTORS, useClass: httpsInterceptor, multi: true }   
],

После внесения вышеуказанных изменений, когда я запускаю свое приложение как "ng serve", я могу получить доступ к приложению через http://localhost:4200,, но оно не указывает на "https://localhost:4200", а также я не видел консольный журнал из класса перехватчиков.

И когда я запускаю свое приложение как "ng serve --ssl true", я могу получить доступ к приложению через https://localhost:4200, но при наборе http://localhost:4200.

ничего не появляется

Ожидаемый результат:

Когда я запускаю «ng serve» и открываю http://localhost:4200,, он должен перенаправить на https://localhost:4200

Когда я запускаю «ng serve --ssl true», я получаю доступ к приложению через http://localhost:4200.

Пожалуйста, дайте мне знать, что я делаю неправильно, или мне нужно сделать еще несколько изменений кода? Спасибо.

...