我有一个有角度的应用程序,正在尝试与Auth0集成。我遵循了这两个教程:
https://auth0.com/docs/quickstart/spa/angular2/01-login
https://auth0.com/docs/quickstart/spa/angular2/02-calling-an-api
这是我的项目的设置:
AuthService
复制并粘贴自第一个教程链接
LoginController
export class LoginComponent implements OnInit {
constructor(private authService: AuthService) { }
ngOnInit(): void {
this.authService.login();
}
}
应用程序路由模块
const routes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'profile', component: ProfileComponent, resolve: { queues: ProfileResolver}, canActivate: [AuthGuard]}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: InterceptorService,
multi: true
}
]
})
export class AppRoutingModule { }
我已经成功登录,但是当auth0进行回调时,它导航到http://localhost:4200/profile?code=[code]&state=[state],然后Angular抛出“无法匹配任何路由”。
我的问题是:
谢谢!
答案 0 :(得分:0)
这是auth0-spa-js
上的一个令人讨厌的陷阱,给我的生产带来了很大的麻烦。 this thread中对此问题进行了描述。我如何解决的是从以下位置更改auth服务中handleAuthCallback
函数的最后一行:
this.router.navigate([targetRoute])
收件人:
this.router.navigate([name-of-path-you're-redirecting-to])
。