Keycloak nodeJS всегда получают 403 - PullRequest
0 голосов
/ 14 декабря 2018

У меня запущено приложение NodeJS, идентификатор которого нравится защищать с помощью keycloak.

Я сделал все как в других приложениях, защищенных с помощью KeyCloak (Roles, Scopes), и он просто не хочет работать.

Мой config.json:

{
 "realm": "<Realm>",
 "bearer-only": true,
 "auth-server-url": "https://<URL>/auth",
 "ssl-required": "external",
 "resource": "<serviceName>",
 "use-resource-role-mappings": true,
 "confidential-port": 0
}

Затем я настроил его так:

let memoryStore = new session.MemoryStore();
let keycloak = new Keycloak({ store: memoryStore });

и затем по маршруту:

keycloak.protect('')

Я также добавил это в начале:

app.use(keycloak.middleware({
    logout: logoutUrl,
    admin: '/'
}));

Генерируемый токен на предъявителя дважды проверяется с помощью JWT.IO, который утверждает, что он правильный ..

Любая помощь?

спасибо

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Просто чтобы ответить на этот вопрос для людей, которые застряли в одной точке:

keycloak.protect ("");была проблема, поскольку он искал роль под названием "", но, очевидно, он не мог ее найти.Поэтому он дал мне 403.

Если вы хотите, чтобы пользователь проходил аутентификацию, но ему не требуется иметь какие-либо роли, используйте keycloak.protect () без аргументов.

0 голосов
/ 14 декабря 2018

Вам необходимо добавить связующее ПО Keycloak

app.use(keycloak.middleware({
        logout: logoutUrl,
        admin: '/'
    }));

https://stackoverflow.com/a/53705242/3405171

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