我正在試驗一個包含兩個服務的 docker-compose 配方,主要基于以下 GitHub 專案:
https://github.com/rongfengliang/keycloak-openresty-openidc
精簡后,我的配置類似于下面的 fork 提交:
https://github.com/Tythos/keycloak-openresty-openidc
我當前的問題是,授權端點(“../openid-connect/auth”)使用內部來源(“http://keycloak-svc:”)。顯然,如果用戶被重定向到這個 URL,他們的瀏覽器將需要參考外部來源(“http://localhost:”)。我認為 Keycloak 服務的 PROXY_ADDRESS_FORWARDING 變數可以解決這個問題,但我想知道我是否需要在 nginx/openresty 配置中進行即時重寫之類的操作。
要復制,從專案根目錄::
docker-compose 構建
docker-compose up --force-recreate --remove-orphans
然后瀏覽到“http://localhost:8090”以啟動 OIDC 流程。您可以通過將“keycloak-svc”替換為“localhost”來規避來源問題,一旦遇到上述來源問題,這會將您轉到正確的登錄界面。但是,一旦到達那里,您將需要添加一個用戶才能繼續。要添加用戶,請在單獨的選項卡中瀏覽到“http://localhost:8080”并按照以下步驟操作,然后回傳原始選項卡并輸入憑據:
在用戶 > 添加用戶下:
用戶名 = “測驗用戶”
電子郵件=“{{隨便}}”
電子郵件驗證 = 開
組 > 添加“restybox-group”
用戶創建后:
轉到“憑據”選項卡
設定為“我的密碼”
臨時 = 關閉
uj5u.com熱心網友回復:
當在反向代理后面運行時,諸如 Keycloak 之類的授權服務器有一個基本/互聯網 URL。您無需在反向代理中進行任何動態操作 - 查看前端 URL 配置。
出于興趣,我剛剛在這里回答了一個類似的問題,這可能有助于您理解一般模式。瞄準良好的 URL(不是 localhost)和回傳互聯網 URL 而不是內部 URL 的發現端點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/422874.html
標籤:
