1
我想在會話中存儲用戶標識。我在自定義驗證器中使用此驗證方法:如何在會話中使用ember-simple-auth存儲用戶標識?
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_id
總是返回undefined
。我在互聯網上找到了很多解決方案,但沒有任何成效
有沒有一個簡單的解決方案來做到這一點?
我添加了'then'回調我的身份驗證,它的工作原理。我不喜歡的唯一想法是用戶身份證明是通過我在身份驗證器中發佈的發佈請求給出的。我在回調方法中無法訪問它。你知道是否有可能獲得信息而不做第二次請求? – Dougui
@Dougui回撥方法是什麼意思?你能給個例子嗎? – jcbvm