Рабочий процесс для Ember-simple-auth, Torii и Facebook Oauth2

Послемой предыдущий вопрос об ember-simple-auth и торииЯ успешно аутентифицирую своих пользователей с помощью их учетных записей Facebook.

Но в настоящее время провайдер Torii facebook-oauth2 возвращает код авторизации из Facebook; когда обещание разрешается, я отправляю этот код авторизации в свой бэкэнд, где я выполняю запрос к Facebook, чтобы получить идентификатор пользователя и адрес электронной почты: затем я аутентифицирую пользователя в своем бэкэнде, генерируя определенный токен доступа и отправляя обратно в мое приложение ember.

Код клиента:

// app/controllers/login.js
import Ember from 'ember';
import LoginControllerMixin from 'simple-auth/mixins/login-controller-mixin';

export
default Ember.Controller.extend(LoginControllerMixin, {
    // This authenticator for a simple login/password authentication.
    authenticator: 'simple-auth-authenticator:oauth2-password-grant',
    actions: {
        // This method for login with Facebook.
        authenticateWithFacebook: function() {
            var _this = this;
            this.get('session').authenticate(
                'simple-auth-authenticator:torii',
                "facebook-oauth2"
            ).then(
                function() {
                    var authCode = _this.get('session.authorizationCode');
                    Ember.$.ajax({
                            type: "POST",
                            url: window.ENV.host + "/facebook/auth.json",
                            data: JSON.stringify({
                                    auth_code: authCode
                            }),
                            contentType: "application/json; charset=utf-8",
                            dataType: "json",
                            success: function(data) {
                                    // TODO : manage access_token and save it to the session
                            },
                            failure: function(errMsg) {
                                    // TODO : manage error
                            }
                    });
                },
                function(error) {
                    alert('There was an error when trying to sign you in: ' + error);
                }
            );
        }
    }
});

Проблема заключается в том, что сеанс ember-simple-auth помечается как аутентифицированный, когда разрешение аутентификации разрешается, а затем приложение перенаправляет на определенный аутентифицированный маршрут. Но в этом случае сеанс должен быть аутентифицирован, когда мой бэкэнд возвращает «настоящий» access_token.

Есть ли способ управлять этим рабочим процессом с помощью ember-simple-auth-torii или я должен написать свой собственный аутентификатор?

Ответы на вопрос(3)

Ваш ответ на вопрос