Что такое хороший поток авторизации при входе

Как мне реализовать решение, подобное описанному ниже? Было бы проще подключить что-то вроде ember-simple-auth? Все примеры, которые я нашел, реализуют свою собственную форму входа в систему, это не то, что мне нужно. Мой логин будет жить в собственном домене.

Сценарий:

  1. пользователь посещает https://myapp.com.
  2. В некоторых инициализаторах я вижу, что у них нет действительного токена доступа, поэтому я перенаправляю их на https://login.myapp.com?redirect_uri=https://myapp.com
  3. login.myapp.com подписывает пользователя, передает ему токен доступа и перенаправляет пользователя на https://myapp.com?access_token={токен}
  4. Myapp загружается снова, только на этот раз он находит действительный токен доступа (из URL-адреса) и устанавливает некоторую переменную, в которой пользователь вошел в систему. А затем добавляет токен в качестве носителя заголовка во все будущие запросы xhr.

Является ли это логическим подходом к входу в систему? Какие фундаментальные недостатки мне не хватает? Знаете ли вы какие-нибудь учебники, делающие что-то подобное? Спасибо!


person David Paulsson    schedule 03.03.2015    source источник


Ответы (1)


Этот процесс было бы довольно легко реализовать с помощью Ember Simple Auth. Вам просто нужно определить собственный аутентификатор, который вы выполняете аутентификацию. сеанс, когда приложение снова запускается после перенаправления. Метод аутентификатора authenticate будет выглядеть так. как это:

authenticate: function(options) {
  return new Ember.RSVP.Promise(function(resolve, reject) {
    resolve({ token: /* the token you get from the query string */ });
  });
}

Аутентификация сеанса с помощью аутентификатора в инициализаторе выполняется так же просто, как:

this.get('session').authenticate('your-authenticator');
person marcoow    schedule 03.03.2015