Просто попытка получить маркер, отправленный мне обратно по 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}
Любая помощь будет оценена по достоинству. Благодарю.
У меня возникла аналогичная проблема, когда я разрабатывал одно приложение, использующее oAuth
, с ui-router
.
Моя проблема была немного иной, потому что некоторые внутренние перенаправления, которые я делаю, настраивают маршрутизацию i18n. Когда oAuth
перенаправлял меня обратно в мое приложение, он сходил с ума, из-за хэша, который он применял, и структуры ui-router
которую я разработал.
Я закончил настройку URL-адреса переадресации на oAuth
указывающий на нейтральную HTML-страницу, которая анализирует хэш, сохраняет его на localStorage
и закрывает окно.
Когда пользователь вызывает аутентификацию, я запускаю открытие нового окна/вкладки с сервером oAuth. В моем угловом приложении я активирую один $interval
который ищет существование и действительность ключа localStorage
определенного мной. Хотя он не заполняется этим HTML, он продолжает искать его. Когда это произойдет, я продолжу работу в приложении.