首页 文章

Ember Simple Auth子域重定向

提问于
浏览
1

我已经能够使用共享的基于Ember Simple Auth cookie的身份验证成功设置多个Ember应用程序 . 我的旅程的下一步是在应用程序之间设置适当的重定向 . 听我说 .

场景A(这是开箱即用的,是的!)

  • 用户尝试访问 domain.com/deep/link/resource

  • 用户未登录

  • 用户被重定向到 domain.com/login 以通过单点登录组件登录,该组件使用Ember Simple Auth来保存带令牌的cookie

  • 成功登录后,用户通过上一次转换重定向回 domain.com/deep/link/resource

场景B(这是开箱即用的,是的!)

  • 用户尝试访问 app-b.domain.com/deep/link/resource

  • 用户已使用令牌通过Ember Simple Auth cookie登录

  • 用户可以访问 app-b.domain.com/deep/link/resource 路由

场景C(这是我需要实现的)

  • 用户尝试访问 app-a.domain.com/deep/link/resource

  • 用户未登录

  • 用户被重定向到 domain.com/login 以通过单点登录组件登录,该组件使用Ember Simple Auth来保存带令牌的cookie

  • 成功登录后,用户通过 app-a 子域上的上一次转换重定向回 app-a.domain.com/deep/link/resource

任何帮助或指导将不胜感激 . 我想知道我是否只能使用Ember Simple Auth实现 Scenario C ,或者我需要在子域上的 beforeModel 中编写自定义重定向逻辑等 .

1 回答

  • 0

    您可以通过覆盖AuthenticatedRouteMixin's beforeModel method来使方案C正常工作 . 这将默认为(Ember.js)转换到登录路由,但在您的情况下,你想要某事 . 像 window.location.replace('domain.com/login') 并记住cookie中的当前URL . 为了在用户登录后重定向到 app-a.domain.com/deep/link/resource ,您需要覆盖ApplicationRouteMixin's sessionAuthenticated method,以便重定向到cookie中记住的先前URL(如果存在),如果不存在则回退到默认行为 .

    总的来说,实现这一点应该非常直接,实际上遵循这些步骤 .

相关问题