【问题标题】:Ember-auth, ember and ajax authentication: accessing ember auth-tokenEmber-auth、ember 和 ajax 身份验证:访问 ember auth-token
【发布时间】:2014-03-07 11:12:27
【问题描述】:

我正在使用 Ember-Auth 并已登录到我的 rails 应用程序。

登录后,auth.auth-token 已设置,我可以在我的模板中查看它:

{{auth.authToken}}

我不需要将这个令牌与我的 ember-data 请求一起传递,但我一生都无法弄清楚如何访问它。

App.Store = DS.Store.extend
  adapter: DS.RESTAdapter.reopen
    namespace: 'api/v1'
    setHeaders: (->
      this.set('headers', { "auth_token": <what goes here?>  });
      return
    ).on('init');

我尝试过的一些事情:

App.Session.get("authToken")
App.auth_token
App.auth.auth_token
App.Auth.get('auth_token')
App.Auth.get('authToken')

由于 embers 快速变化的 API,似乎有很多人以不同的方式做这件事。但是我尝试过的所有内容最终都未定义。

DEBUG: -------------------------------
DEBUG: Ember      : 1.5.0-beta.3
DEBUG: Ember Data : 1.0.0-beta.7.f87cba88
DEBUG: Handlebars : 1.3.0
DEBUG: jQuery     : 1.11.0
DEBUG: ------------------------------- 

Auth配置:

App.Auth = Ember.Auth.extend
  request: 'jquery'
  response: 'json'
  strategy: 'token'
  session: 'cookie'
  signInEndPoint: '/api/v1/user_session' # api url for sign-in
  signOutEndPoint: '/api/v1/user_session' # api url for sign-out

  tokenKey: 'auth_token' # param returned from api containing auth token
  tokenIdKey: 'user_id' # param returned from api for id of authenticated user
  tokenLocation: 'param' # auth token will be sent to api as a param

【问题讨论】:

    标签: ruby-on-rails ajax authentication ember.js


    【解决方案1】:

    我相信这个问题的答案是我的身份验证服务器没有在我的 json 响应中返回具有正确名称的令牌。

    自从遇到此问题后,我切换到了 ember-simple-auth,但遇到了类似的问题,直到我发现我的身份验证令牌在我的服务器返回的 json 中的名称是:“auth_token”而不是 ember-simple-预期的身份验证:“access_token”

    所以我的猜测是身份验证看到请求成功,这解释了为什么我可以登录。但随后会话为空,因为 ember-simple-auth 正在寻找一个不同名称的令牌并且失败并没有打扰创建会话。

    也许对 ember-auth 和 ember-simple-auth 的人的建议是在返回的令牌丢失时添加警告或错误?

    希望这对其他人有帮助:)

    【讨论】:

      猜你喜欢
      • 2015-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多