一个从事身份验证的新手。我下载了auth0-angular包到我的项目,现在我得到这个错误为我的WebAuth()实例创建(IDE: VS Code):
"属性'WebAuth'不存在类型'typeof import("c:/Users/Owner/Desktop/coding_course_docs/AngularAudioPlayer/node_modules/@auth0/auth0-angular/auth0-auth0-angular")' ">
下面是我的代码:
import { Injectable } from '@angular/core';
import * as auth0 from '@auth0/auth0-angular';
import { environment } from '../../environments/environment';
import{
Observable,
BehaviorSubject,
bindNodeCallback,
of
} from 'rxjs';
import { Router } from '@angular/router';
@Injectable({
providedIn: 'root'
})
export class AuthService {
//instance of auth0-WebAuth that is used for authentication
auth0 = new auth0.WebAuth({
clientID: environment.auth0.clientID,
domain: environment.auth0.domain,
responseType: 'token id_token',
scope: 'openid profile email'
});
//'localStorage' keys (for storing authentication and user profile data) that track whether or not to renew token
private _authFlag = 'isLoggedIn';
private _userProfileFlag = 'userProfile';
你知道我做错了什么吗?
您是否尝试过为auth0使用另一个导入?import * as auth0 from "auth0-js";
请注意,使用它需要以下依赖项:auth0-js
,而不是@types/auth0-js
(应该添加,但它只是添加,这样你就可以在TypeScript中获得更好的auth0类型)
如果您想使用auth0-angular
,那么您应该切换到另一种导入类型:import { AuthService } from '@auth0/auth0-angular';
。你可以在这里找到更多关于使用AuthService的细节:https://auth0.com/docs/libraries/auth0-angular-spa
虽然第一个应该解决你的问题,但从长远来看,第二个可能是更好的方法。