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);
    });
  }
});