AuthHttp в Angular 6 (переход с Angular2 на Angular6) - PullRequest
0 голосов
/ 26 октября 2018

Я недавно перенес свое приложение из Angular2 в Angular6

Моя сборка не удалась из-за Angular2-JWT, поэтому я обновил ее до @ auth0 / angular-jwt

Теперь я застрял при обновлении своего кода, поскольку AuthHTTP и AuthConfig устарели.

У меня есть factory.ts для моего security.module.ts. И я должен вернуть новый AuthHttp в мой security.module.ts.

export function AuthHttpServiceFactory( http: Http, options: RequestOptions) {
  const accessToken = this.accessTokenService.getAccessToken();
  const userInfoToken = this.accessTokenService.getUserInfoToken();
  return new AuthHttp(
    new AuthConfig({
      tokenName: 'token',
      tokenGetter: (() => accessToken),
      globalHeaders: [{ 'Content-Type': 'application/json' }, { 'userinfotoken': userInfoToken }],
    }), http, options);
}

Теперь я получаю ошибку при возврате AuthHttp.

Мой Security.Module.ts выглядит следующим образом.

@NgModule({
  providers: [
    LocalStorageService,
    {
      provide: AuthHttp,
      useFactory: AuthHttpServiceFactory,
      deps: [Http, RequestOptions]
    }
  ]
})

Я получаю ошибку при Provide: AuthHttp также.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 12 ноября 2018

это как добавить аутентификацию с использованием HttpClient и HttpHeaders в качестве службы

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';


@Injectable({
providedIn: 'root'
})
export class VehicleService {

headers;
private readonly vehicleEndpoint = 'api/vehicles';


constructor(private http: HttpClient) {

}


create(vehicle) {
    return this.http.post(this.vehicleEndpoint, vehicle, this.addHeaders());
}

addHeaders() {
    var access_token = localStorage.getItem('access_token');
    return { headers: new HttpHeaders().set("Authorization", `Bearer   
${access_token}`) };
}

access_token - это Json Web Token.

https://angular.io/api/common/http/HttpHeaders

https://angular.io/guide/http

...