gpt4 book ai didi

angular - Angular 6 中的 AuthHttp(从 Angular2 迁移到 Angular6)

转载 作者:太空狗 更新时间:2023-10-29 18:28:37 38 4
gpt4 key购买 nike

我最近将我的应用程序从 Angular2 迁移到了 Angular6

由于 Angular2-JWT,我的构建失败了,所以我将其升级到 @auth0/angular-jwt

现在我在更新我的代码时卡住了,因为 AuthHTTP 和 AuthConfig 已被弃用。

我的 security.module.ts 有一个 factory.ts。而且我必须向我的 security.module.ts 返回一个新的 AuthHttp。

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 也遇到了错误。

感谢任何帮助。

最佳答案

这是使用 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

关于angular - Angular 6 中的 AuthHttp(从 Angular2 迁移到 Angular6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53002364/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com