URL の確認トークン パラメータに基づいて、ユーザーを自動的にログインできるようにしたい状況があります。私のルートでは、サーバーに AJAX リクエストを送信してトークンを検証し、ログインに使用されるのと同じシリアル化された Oauth2 JSON を送り返しています。
このトークンを使用してユーザーをログインさせることはできますか?
まず、ユーザーは次のような URL にアクセスします。
http://example.com/users/confirmation?confirmation_token=eisz6LMzmck55xHuqopF
次に、ルートは AJAX リクエストをサーバーに送信し、サーバーは Oauth2 トークンで応答します。
オーセンティケーターを使用して復元しようとしている現在の実装を次に示します。コンソールに「ログインする必要があります」と表示されているにもかかわらず、機能していません。これは、セッションを復元する方法がわからないためだと思われます。セッションのドキュメントを見ると、手動で認証するパブリック メソッドが表示されますが、oauth トークンから復元するメソッドは表示されません。
import Ember from 'ember';
import ajax from 'ic-ajax';
export default Ember.Route.extend({
model: function(params) {
var path = MyApp.API_NAMESPACE + '/confirmation?confirmation_token=' + params.confirmation_token;
var authenticator = this.container.lookup('simple-auth-authenticator:oauth2-password-grant');
return ajax(path).then(function(response) {
return authenticator.restore(response).then(function() {
console.log('I should be logged in');
});
}).catch(function(request) {
console.log(request);
});
}
});