Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Keyclope js适配器和Angular ui路由器?_Javascript_Angularjs_Angular Ui Router_Keycloak - Fatal编程技术网

Javascript Keyclope js适配器和Angular ui路由器?

Javascript Keyclope js适配器和Angular ui路由器?,javascript,angularjs,angular-ui-router,keycloak,Javascript,Angularjs,Angular Ui Router,Keycloak,我正在开发一个CMS AngularJS单页面,使用带KeyClope的单符号。但是,使用带有KeyClope JS的angular ui路由器存在一个问题 页面加载时会创建重定向循环 因此,它是重新路由: https://website.com/#/code=XXXXXXXXXXXXXXXXXXXXXX&state=XXXXXXXXXXXXXXX 但结果应该是: https://website.com/#code=XXXXXXXXXXXXXXXXXXXXXXX&state=X

我正在开发一个CMS AngularJS单页面,使用带KeyClope的单符号。但是,使用带有KeyClope JS的angular ui路由器存在一个问题

页面加载时会创建重定向循环

因此,它是重新路由:

https://website.com/#/code=XXXXXXXXXXXXXXXXXXXXXX&state=XXXXXXXXXXXXXXX
但结果应该是:

https://website.com/#code=XXXXXXXXXXXXXXXXXXXXXXX&state=XXXXXXXXXXXXXXXXXX
然后像这样:

https://website.com/#/
代码如下:

var consoleBaseUrl = window.location.href;
consoleBaseUrl = consoleBaseUrl.substring( 0, consoleBaseUrl.indexOf( "/platform" ) );
consoleBaseUrl = consoleBaseUrl + "/platform";
var auth = {};
var realm = "passqlub";

console.log( consoleBaseUrl );

/** PassQlub Angular App Initialice and dependency load. */
var app = angular.module( "PassQlub", [
    'ui.router',
    'ngSanitize'
] );
运行应用程序块 注销密钥斗篷功能 拦截器工厂 拦截器工厂错误
变量
auth
位于全局命名空间上。它可能与另一个库冲突吗?另外,在document ready上,还有一个重新加载文档的错误处理程序?控制台记录错误以查看导致重新加载的原因。变量
auth
位于全局命名空间上。它可能与另一个库冲突吗?另外,在document ready上,还有一个重新加载文档的错误处理程序?控制台记录错误以查看导致重新加载的原因。
app
    .run( [
        '$rootScope',
        '$state',
        '$stateParams',
        '$http',
        '$window',
        '$timeout',
        function ( $rootScope, $state, $stateParams, $http, $window, $timeout ) {

        }
    ] );
var logout = function () {
    console.log( "*** PassQlub: logout..." );
    auth.loggedIn = false;
    auth.authz = null;
    window.location = auth.logoutUrl;
};

/** Keycloak Element */
angular.element( document ).ready( function () {
    var keycloakAuth = new Keycloak( "keycloak.json" );
    auth.loggedIn = false;

    keycloakAuth.init( { onLoad: 'login-required' } ).success( function () {
        auth.loggedIn = true;
        auth.authz = keycloakAuth;
        auth.logoutUrl = keycloakAuth.authServerUrl + "/realms/" + realm + "/protocol/openid-connect/logout?redirect_uri=" + encodeURIComponent( "https://" + location.hostname + "/platform" );
        app.factory( 'Auth', function () {
            return auth;
        } );
        //angular.bootstrap( document, [ "PassQlub" ] );
    } ).error( function () {
        window.location.reload();
    } );
} );
app.factory( 'authInterceptor', function ( $q, Auth ) {
    return {
        request: function ( config ) {
            var deferred = $q.defer();
            if ( Auth.authz.token ) {
                Auth.authz.updateToken( 5 ).success( function () {
                    config.headers = config.headers || {};
                    config.headers.Authorization = 'Bearer ' + Auth.authz.token;

                    deferred.resolve( config );
                } ).error( function () {
                    deferred.reject( 'Failed to refresh token' );
                } );
            }
            return deferred.promise;
        }
    };
} );
app.factory( 'errorInterceptor', function ( $q ) {
    return function ( promise ) {
        return promise.then( function ( response ) {
            return response;
        }, function ( response ) {
            if ( response.status == 401 ) {
                console.log( '*** PassQlub: Session Timeout' );
                logout();
            } else if ( response.status == 403 ) {
                alert( "PassQlub: Forbidden" );
            } else if ( response.status == 404 ) {
                alert( "PassQlub: Not found" );
            } else if ( response.status ) {
                if ( response.data && response.data.errorMessage ) {
                    alert( response.data.errorMessage );
                } else {
                    alert( "PassQlub: An unexpected server error has occurred" );
                }
            }
            return $q.reject( response );
        } );
    };
} );