我们有一个带有auth0设置的主角应用程序。在主应用程序内部存在另一个子应用程序,它作为npm模块导入。子应用程序还有一个独立的可部署版本,用于开发和测试。
由于独立版本必须有自己的身份验证方式,而子应用程序具有不同的角色和不同的权限,我们为子应用程序创建了另一个auth0客户端,但目前还没有使用它。因此,子应用程序使用与main-app相同的auth0客户端。
根据集成应用程序的当前设置,由主应用程序设置的accessToken和子应用程序读取以便能够添加到请求标头中。现在我们计划将自己的客户端凭据用于子应用程序。为此,我们还需要在localStorage中添加新的键值对(可能在子应用程序配置中将现有的前缀添加到子应用程序配置中),这样它们就不会发生冲突。
此时我想询问这是否是这种子应用程序的理想和适当的设置。我对任何建议持开放态度。提前谢谢。
答案 0 :(得分:0)
我猜您正在使用canActivate和authGuard来保护应用程序的路由。
然后您可能需要为子应用程序创建一个新的authGuardService。
示例:
在您的主应用中,您将使用AuthGuardServiceMainApp
{
path: 'main-path'
, component: MainComponent
, canActivate: [AuthGuardServiceMainApp]
}
在子应用程序中,您将使用其他服务。
{
path: 'sub-path'
, component: SubComponent
, canActivate: [AuthGuardServiceSubApp]
}
通过这种方式,您可以在每项服务中对身份验证进行自定义控制。