私はui.routerを持つangularjs SPAを持っています。 LoginControllerでポップアップを使用していないとadal:loginSuccessをキャッチできません
$locationProvider.html5Mode(true).hashPrefix('!');
$urlRouterProvider.otherwise('/');
$stateProvider
.state('welcome', {
url: '/',
template: '<div><button type=\"button\" class=\"btn btn-primary\" ui-sref=\"login\"><i class=\"fa fa-sign-in\"></i> Login</button></div>',
})
.state('login', {
url: '/login',
template: '<h4> logging in ... </h4>',
controller: 'LoginController',
controllerAs: 'vm',
requireADLogin: true
})
.state('loggedin', {
url: '/loggedin',
templateUrl: '/app/logged-in.html',
requireADLogin: true
})
.state('logout', {
url: '/logout',
template: '<h4> logging out ... </h4>',
controller: 'LogoutController'
}) ;
adalProvider.init(
{
instance: 'https://login.microsoftonline.com/',
tenant: 'mytenant.onmicrosoft.com',
clientId: 'myappid',
extraQueryParameter: 'nux=1',
popUp: true,
cacheLocation: 'localStorage' // enable this for IE, as sessionStorage does not work for localhost.
},
$httpProvider
);
::私は私のモジュールの設定で 私はポップアップ設定を削除する場合
function loginController($rootScope, $state, adalService) {
/* jshint validthis:true */
var vm = this;
vm.title = 'login';
vm.activate = activate;
activate();
function activate() {
adalService.login();
}
$rootScope.$on('adal:loginSuccess', function (event, token) {
console.log('loggedin');
$state.go('loggedin');
});
}
、私はアダルキャッチすることはできません:LOGINSUCCESSをので、私はいつもの状態をデフォルトに戻って取得(歓迎画面)。
また、私はredirectUriを設定することができますが、どうすればよいか分かりません。私はhttp://myappurl/loggedinで試して、loggedin状態をトリガーしようとしましたが、動作しません。私がしようとしている私はtemplateUrlを使用している場合、未知の理由のために、それは(アダル導入する前に、それがうまく働いていた)エラーがスローされますので、歓迎の状態のためのテンプレートがインラインである
この問題を修正しましたか? –
こんにちは@ FeiXue - MSFT、私はポップアップに解決しましたが、私はまだtemplateUrlものを把握することはできません... – Aline