簡體   English   中英

節點oidc-provider(用於密鑰斗篷)

[英]node oidc-provider (for keycloak)

我正在嘗試將基本節點oidc-provider應用程序作為我的密鑰斗篷服務器的OIDC提供程序。

Keycloak正確鏈接到我的應用程序的登錄頁面。 輸入用戶名和密碼后,我可以正確轉移回keycloak。

但是,keycloak會說“使用身份提供者進行身份驗證時發生意外錯誤”。


編輯:我調整了密鑰斗篷日志級別,現在我看到以下錯誤:

無法使身份提供者進行oauth回調:org.keycloak.broker.provider.IdentityBrokerException:服務器無access_token。


我的應用程序如下所示:

 const express = require('express'); const Provider = require('oidc-provider'); const app = express(); const clients = [ { client_id: 'my_keycloak_client', client_secret: "<someKey>", grant_types: ['authorization_code'], response_types: ['code'], redirect_uris: ['http://localhost:8080/auth/realms/master/broker/oidc/endpoint'], token_endpoint_auth_method: 'none' } ]; const oidc = new Provider('http://localhost:3001', { async findById(ctx, id) { return { accountId: id, async claims() { return { sub: id }; }, }; } }); oidc.initialize({ clients: clients, keystore: { keys: [ { kty:"RSA", kid: "zid-auth key", use: "sig", p:"<someKey>", q:"<someKey>", d:"<someKey>", e:"AQAB", qi:"<someKey>", dp:"<someKey>", dq:"<someKey>", n:"<someKey>" } ] } }).then(function () { app.use('/', oidc.callback); app.listen(3001); }); 

您必須將token_endpoint_auth_method配置為keycloak實際使用的正確方法值。 如果為客戶端提供的機密設置為none ,則oidc-provider將使客戶端身份驗證失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM