Javascript 从外部应用程序重定向到角度内部路由
我正在将身份验证系统构建为与仪表板应用程序不同的前端应用程序。前端验证应用程序托管在中,仪表板应用程序前端托管在中 我的仪表板的路由器结构:Javascript 从外部应用程序重定向到角度内部路由,javascript,angular,Javascript,Angular,我正在将身份验证系统构建为与仪表板应用程序不同的前端应用程序。前端验证应用程序托管在中,仪表板应用程序前端托管在中 我的仪表板的路由器结构: { path: "dashboard", component: LandingPageComponent, children: [ { path: '', pathMatch: 'full', redirectTo: 'home' }, {
{
path: "dashboard",
component: LandingPageComponent,
children: [
{
path: '',
pathMatch: 'full',
redirectTo: 'home'
},
{
path: "home",
component: HomeComponent,
canActivate: [RouteGuard],
data: {
externalUrl: authFrontEnd
}
},
{
path: 'Contact',
component: ContactComponent,
canActivate: [RouteGuard],
data: {
externalUrl: authFrontEnd
}
},
{
path: 'about',
component: AboutComponent,
canActivate: [RouteGuard],
data: {
externalUrl: authFrontEnd
}
}
],
},
{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
{ path: ":user/:token", component: AuthenticationComponent },
在我的auth应用程序中,当我通过身份验证时,应该将我重定向到仪表板应用程序的url,并在url中嵌入用户ID和令牌(我知道这不是一种安全的方法):
在我的身份验证应用程序中:
loginAuthentication(user) {
const result = this.apiService.login(user);
result.subscribe(res=> {
if(res.status === 'success') {
window.location.href=`http://dashboard.example.net/${res.result.user_id}/${res.result.token}`
}
})
}
据我所知,这不起作用,因为角度路由只在角度应用程序内部理解。无法从外部源重定向到角度内部路由。如何做到这一点?我的要求是将令牌和用户Id从auth应用程序传递到仪表板应用程序,这是我目前知道的唯一方法。是否可以仅在后端与auth服务器通信?您的意思是应该由后端处理身份验证UI?在上面的问题中,当我说App时,它只表示前端。后端服务正在处理api的问题,我现在想起来,我的问题真的没有意义。身份验证的UI组件必须是其他应用程序的组件吗?否。身份验证应用程序和仪表板应用程序的前端完全互斥。两者都部署在不同的服务器上。但是,当身份验证成功时,我需要将前端重定向到仪表板应用程序。在仪表板中,我需要检查用户是否经过身份验证,然后再让他进入应用程序。因此,我将需要从认证应用程序发送的令牌,我想我无法实现这一点,只有前端。修复此问题可能还涉及后端代码。是否可以仅在后端与身份验证服务器通信?您的意思是身份验证UI应由后端处理?在上面的问题中,当我说App时,它只表示前端。后端服务正在处理api的问题,我现在想起来,我的问题真的没有意义。身份验证的UI组件必须是其他应用程序的组件吗?否。身份验证应用程序和仪表板应用程序的前端完全互斥。两者都部署在不同的服务器上。但是,当身份验证成功时,我需要将前端重定向到仪表板应用程序。在仪表板中,我需要检查用户是否经过身份验证,然后再让他进入应用程序。因此,我将需要从认证应用程序发送的令牌,我想我无法实现这一点,只有前端。后端代码也可能涉及到修复此问题