Ember.js 如何在与ember simple auth的会话中存储用户id?

Ember.js 如何在与ember simple auth的会话中存储用户id?,ember.js,ember-simple-auth,Ember.js,Ember Simple Auth,我想在会话中存储用户id。我在自定义验证器中有此身份验证方法: authenticate: (credentials) -> _this = this new (Ember.RSVP.Promise) (resolve, reject) -> Ember.$.ajax( url: 'http://localhost:3000/api/v1/sessions' type: 'POST' data: session: e

我想在会话中存储用户id。我在自定义验证器中有此身份验证方法:

authenticate: (credentials) ->
  _this = this
  new (Ember.RSVP.Promise) (resolve, reject) ->
    Ember.$.ajax(
      url: 'http://localhost:3000/api/v1/sessions'
      type: 'POST'
      data: session:
        email: credentials.identification
        password: credentials.password
    ).then ((response) ->
      _this.set('user_id', response.user_id)
      Ember.run ->
        resolve token: response.token
    ), (xhr, status, error) ->
      response = JSON.parse(xhr.responseText)
      Ember.run ->
        reject response.error
这是一个咖啡脚本,但它的工作原理类似于javascript。如您所知,我在会话中设置了“user_id”

app/initializers/custom session
中,我有以下内容:

import Ember from "ember";
import Session from "simple-auth/session";

export default {
  name: "current-user",
  before: "simple-auth",
  initialize: function(container) {
    Session.reopen({
      setCurrentUser: function() {
        return this.get('user_id')
      }.observes('secure.access_token')
    });
  }
};
user\u id
始终返回
undefined
。我在互联网上找到了很多解决方案,但都不管用


有一个简单的解决方案吗?

您正在
验证器上设置
用户id
\u this.set('user\u id',response.user\u id)
)而不是
会话。应将
用户id
传递给
验证器中的resolve方法。这样,您的用户id就可以被
安全访问。在
会话中的用户id

我添加了一个
,然后
回调到我的身份验证中,它就可以工作了。我唯一不喜欢的是我在验证器中发出的post请求给出的用户id。我在回调方法中没有访问它的权限。你知道不需要第二次请求就可以获得信息吗?@Dougui你所说的回调方法是什么意思?你能举个例子吗?