【发布时间】:2015-02-04 22:44:11
【问题描述】:
我有一个 Ember CLI 前端应用程序和一个使用 Devise 进行身份验证的 Rails 应用程序。我以为我的设置正确,但我遇到了一些问题。
1) 提交登录表单后,我没有被重定向。如果我手动单击身份验证后面的链接,它会看到我已通过身份验证。
2) 重新加载页面后,本地存储中的会话信息不会保留。
有什么想法吗?
提前致谢
【问题讨论】:
标签: ember.js devise ember-simple-auth
我有一个 Ember CLI 前端应用程序和一个使用 Devise 进行身份验证的 Rails 应用程序。我以为我的设置正确,但我遇到了一些问题。
1) 提交登录表单后,我没有被重定向。如果我手动单击身份验证后面的链接,它会看到我已通过身份验证。
2) 重新加载页面后,本地存储中的会话信息不会保留。
有什么想法吗?
提前致谢
【问题讨论】:
标签: ember.js devise ember-simple-auth
1) 登录后默认重定向到索引路由,在索引路由的 beforeModel 钩子中粘贴一个调试器并验证这一点
2) 在您的 config/environment.js 中存在类似的内容,但由于您使用的是设计插件而不是您自己的自定义授权方,因此不能 100% 确定
ENV['simple-auth'] = {
localStorageKey: 'my-app-session',
store: 'simple-auth-session-store:local-storage',
authorizer: 'authorizer:devise'
};
这是一个模糊的问题,如果您使用令牌或 cookie 等,需要更多代码和信息吗?
【讨论】:
啊,我想通了。看起来是因为我在我的 rails 应用程序中使用了 activemodel 序列化程序,它包括根(在这种情况下为会话:因为响应是从会话控制器提供的)。我告诉它不要使用 ActiveModel 序列化器,渲染 json:数据,状态:201,序列化器:nil 成功了!我猜 AMS 和自定义资源名称不能很好地配合使用。
【讨论】: