私はdjango rest frameworkとtoken authをバックエンド認証として使用します。私がログインしようとしたとき、私はオーセンティケータとしてのOAuth2使用フロントエンドの残り火 - シンプルな認証のDjango rest + ember simple auth認証者 "authenticator:oauth2"がセッションを復元するのを拒否しました - 無効化
それは言う:バックエンドからトークンが
{「cKCxxxxxxxxxxxxxxxxxxxxx」トークン}は、ユーザーの資格情報が提出され、この形式として来ます:
オーセンティケータ:セッション復元するために拒否された "オーセンティケータのOAuth2" - 無効を...
とセッションはログインしていませんが、ルートが変更されたときにログアウトします。ヘッダーにトークンを追加するにはどうすればよいですか? ember-simple-authを使用すると自動的に追加されなければなりませんか、それとも間違っていますか?
login.js
actions: { authenticate(username, password) { var controller = this.controller; this.get('session').authenticate('authenticator:oauth2', username, password).catch((reason) => { controller.set('errorMessage', reason.detail || reason); console.log(this.get('session.data.authenticated')); }); } }
とオーセンティケータ:
import OAuth2PasswordGrant from 'ember-simple-auth/authenticators/oauth2-password-grant'; export default OAuth2PasswordGrant.extend({ serverTokenEndpoint: 'http://127.0.0.1:8000/api/auth/login/', });
承認者: 'エンバー-単純認証/認可/のOAuth2ベアラ' から インポートOAuth2Bearer。
export default OAuth2Bearer.extend({ });
アダプタ:
import DS from 'ember-data'; import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin'; export default DS.RESTAdapter.extend(DataAdapterMixin, { host: 'http://127.0.0.1:8000', namespace: 'api', authorizer: 'authorizer:oauth2', });