Как мне решить состояние обновления / # keycloak в моем проекте angular7 - я использую keycloak-angular - PullRequest
0 голосов
/ 01 февраля 2019

Я также попробовал все различные комбинации для веб-источников и действительных URI перенаправления

keycloak realm Я вхожу через keycloak, и он постоянно перенаправляет меня назад и вперед между моим приложением localhost и этимurl: http://localhost:4200/#state=166446fd-daf6-4b76-b595-583c01c663df&session_state=57ead1f3-bf41-4117-9ddf-75e37c9248e7&code=8692b58b-0868-4762-b82e-acde9911dd34.57ead1f3-bf41-4117-9ddf-75e37c9248e7.1e8b5b9d-b590-453e-b396-62b46c18cc9f

Я пробовал его на Firefox и Chrome, но с той же проблемой - похоже, он ищет файл keycloak.json на вкладке сети, хотя я могу войти в нужную область черезkeycloak

GET http://localhost:4200/keycloak.json 404 (не найдено) scheduleTask @ zone.js: 2969

ОШИБКА Произошла ошибка во время инициализации Keycloak.core.js: 1601

Необработанный отказ от обещания: во время инициализации Keycloak произошла ошибка.;Зона:;Задача: Promise.then;Значение: произошла ошибка во время инициализации Keycloak.undefined

static init(): Promise<any> {
    const keycloakAuth: any = Keycloak({
        url: 'http://localhost:8080/auth',
        realm: 'ContractPortal',
        clientId: 'secretkey2',
        'ssl-required': 'external',
        'public-client': true
    });

    KeycloakService.auth.loggedIn = false;

    return new Promise((resolve, reject) => {
        keycloakAuth.init({onLoad: 'login-required'})
            .success(() => {
                console.log(keycloakAuth);
                KeycloakService.auth.loggedIn = true;
                KeycloakService.auth.authz = keycloakAuth;
                KeycloakService.auth.logoutUrl = keycloakAuth.authServerUrl
                    + '/realms/angular_keycloak/protocol/openid-connect/logout?redirect_uri='
                    + document.baseURI;
                resolve();
            })
            .error(() => {
                reject();
            });
    });
}

Было бы здорово, если бы один из вас, ребята, указал мне правильное направление для решения этой проблемы ...

Я нашел еще один похожий вопросчто я спросил ссылка но не уверен, как реализовать это решение!это настройка моего провайдера -
providers: [ { provide: APP_INITIALIZER, useFactory: initializer, multi: true, deps: [KeycloakService] } ],

, но OP помещает в своего провайдера следующее providers: [ KeyCloakService, AssetService, { provide: LocationStrategy, useClass: PathLocationStrategy } ]

Пожалуйста, дайте мне знать, если вам нужны другиеинформация

1 Ответ

0 голосов
/ 13 февраля 2019

Для тех, кто сталкивался с той же проблемой - я неправильно понял файл keycloak.json и не знал, где его взять - поэтому я экспортировал полный файл json из keycloak, но ЭТО не то, как вы должны его получить !!

Сначала вам нужно зайти в свою сферу> клиенты и щелкнуть по установке

enter image description here

  • , а затем загрузить keycloakJID-файл OIDC

  • , затем поместите его рядом с файлом index.html в вашем приложении

Это решило мою проблему - надеюсь, это поможет кому-то еще

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...