问题描述
@H_502_0@我们希望在Angular应用程序中支持两种身份验证方案:
- oauth2,针对远程IDP
- 密码验证,针对自己的服务器 验证模式应在构建时选择。
environment.authMechanism === 'password' ? IaAuthenticationModule.forRoot({}) : OTDSAuthModule.forRoot(),
@H_502_0@并使用useFactory声明了抽象服务:
@Injectable({
providedIn: 'root',useFactory: (http: HttpClient,router: Router,logger: NGXLogger) : any => {
return new IaAuthService(http,router,logger)
}
})
@H_502_0@导出抽象类AuthService {
...
}
@H_502_0@但是由于某种原因我得到了
Uncaught ReferenceError: Cannot access 'AuthService' before initialization
at Module.AuthService (auth.service.ts:3)
at Module../src/ia-auth/ia-auth.service.ts (ia-auth.service.ts:13)
at __webpack_require__ (bootstrap:84)
at Module../src/app/auth.service.ts (auth.service.ts:3)
@H_502_0@启动应用程序时。我还会收到循环依赖项的警告(在堆栈跟踪中也可见)。
@H_502_0@ IaAuthService的定义如下:
export class IaAuthService extends AuthService {
constructor(
private http: HttpClient,private router: Router,private log: NGXLogger) {
super()
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)