Не удалось получить код предоставления: Ошибка: самозаверяющий сертификат в цепочке сертификатов - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь получить доступ к защищенному URL Keycloak - /hello в браузере.URL обслуживается приложением node.js. Эта ошибка выдается следующим кодом :

после следующей последовательности действий:

1) добавление клиента и пользователяподключить ключ к основному миру KeyCloak

2) защитить URL-адрес приложения express node.js:

var Keycloak = require('keycloak-connect');

let kcConfig = { 
    clientId: 'test_ui',
    // secret : "d31c4718-12e9-407b-9bf2-cb72734a23f0", 
    public: true,
    serverUrl: https://127.0.0.1/auth,
    resource: "test_ui",
    realm: 'master'
}
var session = require('express-session');
var memoryStore = new session.MemoryStore()

var keycloak = new Keycloak(  {store : memoryStore},  kcConfig);

this.app.use(session({
    secret: 'mySecret',
    // resave: false,
    // saveUninitialized: true,
    store: memoryStore
  }));

this.app.use( keycloak.middleware() );
this.app.get( '/hello', keycloak.protect());

3) получить доступ к защищенному URL-адресу в браузере, перенаправить на экран входа в Keycloak и выполнить проверку подлинности... затем появляется ошибка.

В wireshark видна следующая последовательность запросов:

/auth/realms/master/protocol/openid-connect/auth?client_id=test_ui&state=504b250d-8616-4685-8c8d-5032713c883a&redirect_uri=https://127.0.0.1/hello/auth_callback&scope=openid&response_type=code

после аутентификации на экране входа в систему:

/auth/realms/master/login-actions/authenticate?session_code=TwhsWxUig85PFHfiv-31OTHQl3aApD6z0lMdOr8hgDc&execution=d58a2cad-2be2-4797-b35a-d7b606945b14&client_id=test_ui&tab_id=ywQfz51qnM0

Я думал о добавлении sslRequired: "none" к kcConfig, но выполнение, похоже, не дает никакого эффекта.Пытался использовать также конфиденциальный клиент вместо общедоступного, но безрезультатно.

package.json содержимое:

"express": "4.16.2",
"keycloak-connect" : "4.3.0",
"express-session" : "1.15.6"

Используется Keycloak 4.3.

В чем причина проблемы и как ее исправить?

Обновление

Добавлено process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; в node.js appследующий ответ в списке рассылки Keycloak и получение ошибки:

Не удалось получить код гранта: 401: не авторизован

...