1

我正在研究 React 应用程序与 Keycloak 的集成。我已经在我的本地机器上安装了 Keycloak 服务器版本 11.0.2。我能够访问管理登录名并创建管理员用户。我还使用 Keycloak 创建了具有凭据的自定义客户端和用户。我的反应应用程序托管在我机器的端口 9000 上,而 Keycloak 托管在 8080(默认)端口上。现在,当我重定向到我的应用程序 URL 时,它会自动重定向到以下 URL:

http://localhost:8080/auth/realms/{Custom_realm}/protocol/openid-connect/auth?client_id={Custom_Client}&redirect_uri=http%3A%2F%2Flocalhost%3A9000%2F&state=r8yy83fdgd-27f8-4aa9-a679-01sfdsgd9&response_mode=fragment&response_type=code&scope=openid&nonce=27fedfgf89-66be-4484-bbcc-aabb4saddc4

在此处输入图像描述

URL 正在呈现没有 CSS 的登录页面。不知道为什么 CSS 没有被渲染。它也没有进行身份验证并给出错误

无法发布 /realms/{Realm}/login-actions/authenticate

4

2 回答 2

1

我错误地将“领域设置”->“常规”->“前端 URL”设置为领域所针对的应用程序的主页 URL。

不要那样做。

清空该字段并保存它为我解决了这个问题。

于 2022-02-02T15:59:56.367 回答
0

Keycloak 重定向到登录页面,因为 keycloak 应用程序 url 在重定向到应用程序之前检查用户是否登录。

要在没有 css 的情况下调试登录页面渲染,需要知道您在管理和服务器主题文件夹中的领域主题设置中所做的更改,因为在默认的 keycloak 11.0.2 中它是使用 css 渲染的。

试图从邮递员和浏览器中点击 POST /authenticate 它对我有用。

验证工作卷曲请求:

curl --location --request POST 'http://localhost:8080/auth/realms/test/login-actions/authenticate?session_code=pmE8VZtaYo4u5IN7vOQ_OLh9Ft_n-pftbBqzk9T2z-k&execution=7d28dd8f-6436-4280-a1da-51cbca5084c1&client_id=account&tab_id=hdEKLv2DNPg' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Cookie: AUTH_SESSION_ID_LEGACY=16e87095-05df-4ca2-88c6-e0c7e2cf6199.milan-latitude-e5450; KEYCLOAK_SESSION_LEGACY=test/0805f781-d0e3-42cf-b34c-be110547d48c/16e87095-05df-4ca2-88c6-e0c7e2cf6199; KEYCLOAK_IDENTITY_LEGACY=eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICI5YmMwNGZkOS1kZDQ3LTRhZmUtOWM1NC0wZWQ1NGFmMmU1MWIifQ.eyJleHAiOjE2MDE1NjYxMjksImlhdCI6MTYwMTUzMDEyOSwianRpIjoiYmJmNmE4ZmQtYzBjMi00MWQxLWJkMGEtY2MwZmVmNmViMzYxIiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL2F1dGgvcmVhbG1zL3Rlc3QiLCJzdWIiOiIwODA1Zjc4MS1kMGUzLTQyY2YtYjM0Yy1iZTExMDU0N2Q0OGMiLCJ0eXAiOiJTZXJpYWxpemVkLUlEIiwic2Vzc2lvbl9zdGF0ZSI6IjE2ZTg3MDk1LTA1ZGYtNGNhMi04OGM2LWUwYzdlMmNmNjE5OSIsInN0YXRlX2NoZWNrZXIiOiIxV0pWUUN5cDRfcEJJQzZpNENRWnZKMzk2aFBhREdoYmNjWXlDT3VTUm13In0.bteyEEAhIWzbi2MdJAwp9ndCXsTPtjHiGBtMYUglWR0; oauth2_authentication_csrf_insecure=MTYwMDc3ODA2MnxEdi1CQkFFQ180SUFBUkFCRUFBQVB2LUNBQUVHYzNSeWFXNW5EQVlBQkdOemNtWUdjM1J5YVc1bkRDSUFJRFZoTlRaaU1qWTJZVEF6TWpRMk1HUmhaV0pqWWpJNU5UbGtOekl5TURRMXwGvq0FY6TUmmWfUmzaDwnTBf9KC-1Ni5N5pc4IXVcBIQ==; oauth2_consent_csrf_insecure=MTYwMDc3ODIzNXxEdi1CQkFFQ180SUFBUkFCRUFBQVB2LUNBQUVHYzNSeWFXNW5EQVlBQkdOemNtWUdjM1J5YVc1bkRDSUFJRGt3T0RCaVlXSTFZVFJqTVRSbE5HTTVaREUxWldZMFptTTVaREl5TUdNeXxmdLHoVF_3zSxhHR8F2zez-Q37wde7ZnPkb_wt_o-T9g==' \ --data-urlencode 'username=milan' \ --data-urlencode 'password=password'

于 2020-10-01T05:41:15.680 回答