当前位置: 首页 > 知识库问答 >
问题:

单点登录-跨域身份验证(@auth0/Angular2-jwt)

卫烨烁
2023-03-14

我有几个angular应用程序(在不同的子域中)和一个主angular应用程序(在主域中)。我使用@auth0/Angular2-jwt库来管理身份验证。它工作得很好,但对单点登录不起作用。我必须在每个子域登录,我需要这只做一次(在主域或任何子域)。

我尝试过为whitelistedDomains使用正则表达式,但它不起作用:

JwtModule.forRoot({
  config: {
    tokenGetter: tokenGetter,
    whitelistedDomains: [new RegExp(`(?:([^.]+)\.)*example\.com`)]
    ]
  }
})

那么,如果用户登录到主域或任何子域,我如何对所有子域的用户进行身份验证?

  1. 用户在example.com或x.example.com成功登录
  2. 必须自动对用户进行y.example.com、z.example.com等身份验证。

共有1个答案

鲁英卫
2023-03-14

我很乐意帮助你回答你的问题!

如果用户登录到主域或任何子域,我如何对所有子域的用户进行身份验证?

与Regex相比,单点登录似乎更适合您的用例,因为它将使您能够在所有子域中验证您的用户。默认情况下,对去年创建的所有租户启用SSO。使用SSO的最简单方法是利用通用登录。

如果可以使用通用登录,只需将auth请求设置为始终执行prompt=none,这将检查隐藏的iframe中的cookie。但是,如果需要交互,您将在租户日志中得到“Login required”警告,并向最终用户询问凭据。我引用了一些核心文档,这些文档应该对您的旅程有所帮助。

https://auth0.com/docs/sso/current/sso-auth0

https://auth0.com/docs/quickstart/spa/angular2/01-登录

 类似资料:
  • web上有大量关于使用JWT()进行身份验证的信息。但是我仍然没有找到关于在多域环境中为单点登录解决方案使用JWT令牌时流程应该是什么的清晰解释。 我工作的公司有很多网站在不同的主机。让我们使用example1.com和example2.com。我们需要一个单点登录解决方案,这意味着如果一个用户在example1.com上进行身份验证,我们希望他也在example2.com上自动进行身份验证。 J

  • 在auth-routes示例中,api和nuxt一起启动并使用一个Node.js服务器实例。但是,有时我们应该使用jsonWebToken处理外部api身份验证问题。在这个例子中,将用最简单的方式解释。 官方 auth-module 如果要实现复杂的身份验证流程,例如OAuth2,我们建议使用官方 auth-module 结构 由于Nuxt.js同时提供服务器和客户端呈现,并且浏览器的cookie

  • 我正在尝试为自己构建一个仪表板,为我使用的一些应用程序提供基于SAML的身份验证。 从我作为测试平台构建的: 我正在使用一个登录名作为我要使用的应用程序的身份提供者。 举个例子:对于Netflix,我被重新路由到Netflix页面,我的用户ID和密码被预先填入其中,就像密码管理器的工作方式一样。(它使用OneLogin的扩展名) Netflix是否允许基于SAML的单点登录身份验证?我无法从谷歌搜

  • 使用,https://github.com/firebase/FirebaseUI-Android/tree/master/codelabs/chat作为登录的参考,我在键入时似乎遇到了问题 我只能键入Auth的提供者,而不能键入,为什么会这样,它提示我键入社会提供者。

  • 如何在iOS8中使用CloudKit实现Sign sign-on? 我知道你可以得到一个代表你的登录用户的字符串,这是你的应用程序唯一的,但是我如何在我的后端验证那个字符串呢? 我明白Apple ID/iCloud电子邮件地址是出于隐私原因而隐藏的。 我的后端是Azure中的ASP.NET Web API2,但如果更简单的话,我可以用另一种技术实现它。 我正在寻找相当于谷歌在Android上的单点

  • 我所期望的是:当用户从表单登录时,它可以调用restful服务,而无需经过基本身份验证(因为它已经经过身份验证)。我的想法是,角色为'role_user'的用户也应该调用restful服务。但是,当我从表单登录后,我也被提示进行基本身份验证,试图从浏览器调用restful服务。 有没有得到我所期望的?