Ember.jsを初めて使用していて、Ember Simple Authを使用しています。現在のユーザーを取得する方法を見つけるのに苦労しています。ログインして、ユーザーが管理者かどうかを確認するので、管理者だけがテンプレートに考えを表示することができます。現在、Ember Simple Auth TokenとRuby on Railsバックエンドを使用してjwt認証を使用しています。私を正しい方向に向ける助けとなることは素晴らしいことです。Ember.jsでEmber Simple Authを使用して管理ビューを設定する
私は現在、ユーザーはJWTは、トークンとUSER_IDを返して認証すると https://github.com/simplabs/ember-simple-auth/blob/master/guides/managing-current-user.md
を仕事にエンバー簡単な認証に例を取得しようとしました。問題は、ユーザーがログインしているとき、私は名前やユーザーに関するすべての詳細情報が届かないということである。
私はこの
{{currentUser.user.name}}
を行うことによって、(間違っているかもしれない)現在のユーザーにアクセスしようとしています
コントローラ//
import Ember from 'ember';
const { inject: { service }, Component } = Ember;
export default Ember.Controller.extend({
session: service('session'),
currentUser: service('current-user')
});
ルートをapplication.js
import Ember from 'ember';
import ApplicationRouteMixin from 'ember-simple-auth/mixins/application-route-mixin';
const { service } = Ember.inject;
export default Ember.Route.extend(ApplicationRouteMixin, {
currentUser: service(),
beforeModel() {
return this._loadCurrentUser();
},
sessionAuthenticated() {
this._super(...arguments);
this._loadCurrentUser().catch(() => this.get('session').invalidate());
},
_loadCurrentUser() {
return this.get('currentUser').load();
}
});
Sをapplication.js ervices /電流user.jsの
import Ember from 'ember';
const { inject: { service }, isEmpty, RSVP } = Ember;
export default Ember.Service.extend({
session: service('session'),
store: service(),
load() {
return new RSVP.Promise((resolve, reject) => {
let userId = this.get('session.data.authenticated.user_id');
if (!isEmpty(userId)) {
return this.get('store').find('user', userId).then((user) => {
this.set('user', user);
}, reject);
} else {
resolve();
}
});
}
});
を呼び出す必要があります。あなたは何を試しましたか?問題は何ですか? –
私は使用した例と使用している現在のコードを使って投稿を更新しました。 –