2016-07-04 6 views
0

Я пытаюсь разработать приложение, которое должно в конечном итоге заменить существующий (не-Ember) один и обеспечивают дополнительную функциональность.сделать пользовательский API вызова с проверкой подлинности

Для начала, для чего еще не реализована в новом приложении, я хочу, чтобы перенаправить пользователей к существующему, с использованием единого входа на возможности последнего. Рабочий процесс я представлял себе это:

  1. Пользователь вошли в новый (Ember) приложение щелкает ссылку или кнопку там
  2. Новое приложение делает вызов API к конечной точке, которая возвращает SSO маркер
  3. Новое приложение генерируемый ссылка включая маркер SSO, открывает его (в новом или же окно)

Я использую уголек-простого-авторизацию для проверки подлинности пользователя для вызовов API, которые возвращают информацию о пользователе, с помощью веб-токена JSON, содержащего пользователя Я бы.

На шаге 2 выше, я должен был бы включить этот маркер в вызове API, но я в догадках, как и даже там, где для осуществления вызова. Нужно ли мне Ember.Route для этого (где я мог бы забросить AuthenticatedRouteMixin)? Я бы не рассматривал токен SSO как часть моей модели, так что это не кажется правильным. Могу ли я получить токен сеанса каким-то образом и включить его в прямой вызов ajax? Нужно ли мне?

ответ

1

уголька-простая аутентификация обеспечивает SessionService, где вы можете получить доступ к этой информации.

Моя рекомендация заключается в использовании ember-ajax, чтобы сделать фактический запрос и переопределить службу ajax для вызова служб сеанса authorize.

Затем вам нужно реализовать Authorizer санкционировать эту просьбу.

Реализация деталей зависит от авторизатора и как вы хотите, чтобы включить маркер в вашем запросе. Как заголовок, параметр запроса или тело.

+0

Спасибо :-) ember-ajax был недостающим элементом. Я явно не вызывал метод 'authorize', но устанавливал' headers ['authorization'] = 'Bearer' + this.get ('session.session.content.authenticated.token') ', который может быть неэлегантным, но при по крайней мере, он работает. –

Смежные вопросы