“HTTPS required” while logging in to Keycloak as admin

徘徊边缘 提交于 2019-12-31 21:34:50

问题


I am using Keycloak (version 1.0.4.Final) in JBOSS AS 7.1.1 server. The server is on Amazon AWS.

I am able to start the jboss server with keycloak. i can see the keycloak default screen while hitting the URL - ServerIP:8080/auth

But when i am clicking on the Administration Consolelink to go to the login screen. I am getting a page saying - HTTPS required

The server is on AWS, changing to "ssl-required" : "none", in General Adapter Config has not helped.

How to resolve this issue?

Edit: I was not getting this issue in keycloak-1.2.0.Beta1 version.


回答1:


If you want to disable it for your realm and have no possibility to use UI, do it directly on the database:

update REALM set ssl_required='NONE' where id = 'master';



回答2:


This is quite old and now on release versions (I am using Keycloak 1.9.3 demo / Developer bundle), however to save some poor soul some time....

Keycloak now defaults to HTTPS for all external IP addresses. Unfortunately, from what I can tell the Wildfly instance that comes with the demo bundle does NOT support HTTPS. Makes for a pretty insane default if you're installing Keycloak on a remote machine as there is effectively no way to access the Keycloak admin console out of the box.

At this point, you have two options; 1) Install HTTPS in Wildfly or 2) Tunnel via SSH into the remote machine and proxy your browser through it, go to the admin console and turn off the SSL requirement (Realm Settings -> Login -> Require SSL). This works because SSL is not required for local connections.

Remember to first create the admin user by going to $KEYCLOAK_HOME/keycloak/bin and running ./add-user-keycloak -r master -u <> -p <>. This add user script is not interactive like the Wildfly add user script is, you need to put it all on the command line.

Hope this helps!




回答3:


You can use the keycloak command line admin tool to change the setting as long as it can authenticate to a local IP address. You can temporarily launch Keycloak on localhost to make this change.

kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin
kcadm.sh update realms/realmname -s sslRequired=NONE

Obviously, make sure to replace realm names, username, port, etc as required.

For more information on getting started with the Admin CLI, see documentation: http://www.keycloak.org/docs/3.3/server_admin/topics/admin-cli.html




回答4:


I was running the key cloak inside a docker container, The keycloak command line tool was avaialble inside the keycloak container.

docker exec -it {contaierID} bash
cd keycloak/bin
./kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin
./kcadm.sh update realms/master -s sslRequired=NONE

If the admin user is not created, then the user can be created via this command.

./add-user-keycloak.sh --server http://ip_address_of_the_server:8080/admin --realm master --user admin --password adminPassword



回答5:


I testing in docker keycloak: probe that: Realm Settings -> Login -> Require SSL and put in off. or docker exec YOUR_DOCKER_NAME /opt/jboss/keycloak/bin/jboss-cli.sh --connect \ "/subsystem=undertow/server=default-server/http-listener=default:read-resource"



来源:https://stackoverflow.com/questions/30622599/https-required-while-logging-in-to-keycloak-as-admin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!