Я использую Keycloak.js для взаимодействия с Keycloak и получать ниже ошибкиKeycloak Неизвестная ошибка поставщика
Uncaught Error: [$injector:unpr] Unknown provider: AuthProvider <- Auth <- authInterceptor <- $http <- $templateRequest <- $compile
С ниже код:
module.factory('authInterceptor', ['$q', 'Auth', 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;
}
};
}]);
module.config(['$httpProvider', function($httpProvider) {
$httpProvider.responseInterceptors.push('errorInterceptor');
$httpProvider.interceptors.push('authInterceptor');
}]);
Есть ли причина, почему это происходит?
Я также включая keycloak.js в моей index.html, который вставляется с Бауэром
у меня также есть ниже Auth завода экземплярам внутри Dóm готов:
angular.element(document).ready(function($http) {
var keycloakAuth = new Keycloak('keycloak.json');
auth.loggedIn = false;
keycloakAuth.init().success(function() {
auth.loggedIn = true;
auth.authz = keycloakAuth;
auth.logoutUrl = keycloakAuth.authServerUrl + "/realms/demo/tokens/logout?redirect_uri=http://localhost:3000";
module.factory('Auth', function() {
return auth;
});
}).error(function() {
window.location.reload();
});
});
Это наготове, поэтому я могу сделать его подлинным. Я не уверен, что это должно быть в функции index.js config вместо –
проблема даже тогда, когда я удаляю dom ready. Я получаю такую же ошибку. –
В вашем примере, почему это работает, когда вы добавляете [] во второй параметр в модуле, но когда я удаляю его, он не работает? –