nodeJS keycloak adapter をExpressアプリケーションで動作させようとしていますが、keycloakミドルウェアで保護したルートのログインページにリダイレクトしようとすると、CORSの問題が発生します。
XMLHttpRequestを読み込めません http://192.168.132.44:8080/auth/realms/Actora/protocol/openid-connect/auth?client_id=actora-test&state=0e9c9778-c41b-4aa8-8052-d0f0125045ac&redirect_uri=http%3A %2F%2Flocalhost%3A5001%2Fauth%2Fchecktoken%3Fauth_callback%3D1&scope = openid&response_type = code 。プリフライト要求への応答がアクセス制御チェックに合格しません:要求されたリソースに「Access-Control-Allow-Origin」ヘッダーがありません。したがって、オリジン ' http:// localhost:5001 'はアクセスを許可されません。
キークローククライアントの設定で、「*」という単一の値をWeb Origins構成セクションに追加しました。
このエクスプレスガイドに従って、node corsライブラリを使用してnode expressアプリケーションでcorsも有効にしました here
var cors = require('cors'),
app = express();
app.use(cors());
app.options('*', cors()); //enable for all pre-flight requests
違いが生じる場合に備えて、バージョン3.2.1のキークロークを使用しています(新しいバージョンはRC版として公開されています)
誰かが同様の問題に直面し、なんとか解決しましたか?私は多くのJBOSSメーリングリストスレッドと他のスタックオーバーフローを掘り下げて調べており、キークローク管理サイトのクライアントのWeb Origins構成セクションに「*」エントリを追加するだけの簡単さを提案しているようですが、これは当てはまりません私。
ありがとう
この問題についても、mindparseで取り組んでいます。
ここでの重要な問題は、keycloak管理ポータルで「web origins」設定を正しく構成したにもかかわらず、keycloakサーバーがACCESS-CONTROL-ALLOW-Originヘッダーで応答しないことです。
プロセスの詳細なフローは次のとおりです。
私はまったく同じ問題を抱えていました。 Keycloak 6.0.1を使用しています
私の場合、_"enable-cors": true
_を_keycloak.json
_に追加する必要がありましたJavaバックエンドサーバー。
その後、別の問題が発生しました:_401 UNAUTHORIZED
_。 この投稿 問題を解決しました
Keycloakのクライアント設定の「Web Origins」フィールドに「 http:// localhost:8081 」のようにアプリのURLを入力するだけです。