AngularUI $ StateParams несколько параметров возвращается неопределенный

0

Просто попытка получить маркер, отправленный мне обратно по URL. Новое для AngularUI, поэтому не понимая, почему.

Вот маршрут:

angular.module('myApp')
  .config(function($stateProvider) {
    $stateProvider
      .state('oauth_callback', {
        url: '/oauth_callback?access_token&expires_in',
        templateUrl: 'app/oauth_callback/oauth_callback.html',
        controller: 'OauthCallbackCtrl'
      });
  });

Вот все, что я делаю для контроллера:

ngular.module('myApp')
  .controller('OauthCallbackCtrl', function ($scope, $stateParams) {
  	console.log('## params:', $stateParams);
  });

Журнал консоли возвращает:

## params: Object {access_token: undefined, expires_in: undefined}

Любая помощь будет оценена по достоинству. Благодарю.

Теги:
express
angular-ui-router
angular-ui

1 ответ

1
Лучший ответ

У меня возникла аналогичная проблема, когда я разрабатывал одно приложение, использующее oAuth, с ui-router.

Моя проблема была немного иной, потому что некоторые внутренние перенаправления, которые я делаю, настраивают маршрутизацию i18n. Когда oAuth перенаправлял меня обратно в мое приложение, он сходил с ума, из-за хэша, который он применял, и структуры ui-router которую я разработал.

Я закончил настройку URL-адреса переадресации на oAuth указывающий на нейтральную HTML-страницу, которая анализирует хэш, сохраняет его на localStorage и закрывает окно.

Когда пользователь вызывает аутентификацию, я запускаю открытие нового окна/вкладки с сервером oAuth. В моем угловом приложении я активирую один $interval который ищет существование и действительность ключа localStorage определенного мной. Хотя он не заполняется этим HTML, он продолжает искать его. Когда это произойдет, я продолжу работу в приложении.

  • 0
    это то, что я в итоге делал. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню