我有几个角度应用程序(在不同的子域中)和一个主要角度应用程序(在主域中)。我正在使用@ auth0 / angular2-jwt库来管理身份验证。它运行良好,但不适用于“单点登录”。我必须登录每个子域,并且只需要在主域或任何子域中完成一次即可。
我已经尝试对白名单域使用正则表达式,但是它不起作用:
JwtModule.forRoot({
config: {
tokenGetter: tokenGetter,
whitelistedDomains: [new RegExp(`(?:([^.]+)\.)*example\.com`)]
]
}
})
那么,如果用户登录到主域或任何子域,该如何对所有子域进行身份验证?
答案 0 :(得分:0)
我很乐意为您解答!
如果用户登录到主域或任何子域,如何对所有子域进行身份验证?
与Regex相比,Single Sign On似乎非常适合您的用例,因为它使您能够在所有子域中对用户进行身份验证。默认情况下,对去年内创建的所有租户都启用SSO。使用SSO的最简单方法是利用通用登录。
如果您可以使用通用登录,则只需将身份验证请求设置为始终执行prompt=none
,这应该检查隐藏的iframe中的cookie。但是,如果需要交互,您将在租户日志中收到“需要登录”警告,最终用户将被要求提供凭据。我已经参考了一些核心文档,这些文档可以为您的旅途提供帮助。