我已经能够使用共享的基于Ember Simple Auth cookie的身份验证成功设置多个Ember应用程序。我的旅程的下一步是在应用程序之间设置适当的重定向。听我说。
domain.com/deep/link/resource
domain.com/login
以通过单点登录组件登录,该组件使用Ember Simple Auth来保存带令牌的cookie domain.com/deep/link/resource
app-b.domain.com/deep/link/resource
app-b.domain.com/deep/link/resource
路径app-a.domain.com/deep/link/resource
domain.com/login
以通过单点登录组件登录,该组件使用Ember Simple Auth来保存带令牌的cookie app-a.domain.com/deep/link/resource
子域app-a
非常感谢任何帮助或指导。我想知道我是否只能使用Ember Simple Auth实现 Scenario C ,或者我需要在子域等beforeModel
上编写自定义重定向逻辑。
答案 0 :(得分:0)
您可以通过覆盖AuthenticatedRouteMixin
's beforeModel
method来使方案C正常工作。这将默认为(Ember.js)转换到登录路由,但在您的情况下,你想要某事。比如window.location.replace('domain.com/login')
并记住Cookie中的当前网址。为了在用户登录后重定向到app-a.domain.com/deep/link/resource
,您需要覆盖ApplicationRouteMixin
's sessionAuthenticated
method,以便重定向到cookie中记住的先前URL(如果存在),并且如果存在则回退到默认行为不
总的来说,实现这一点应该非常直接,实际上是按照这些步骤进行的。