web-dev-qa-db-fra.com

"HTTPS requis" lors de la connexion à Keycloak en tant qu'administrateur

enter image description here

J'utilise Keycloak (version 1.0.4.Final) dans JBOSS AS 7.1.1 serveur. Le serveur est sur Amazon AWS.

Je peux démarrer le serveur jboss avec keycloak. je peux voir l'écran par défaut de keycloak tout en appuyant sur l'URL - ServerIP:8080/auth

Mais quand je clique sur le Administration Consolelink pour accéder à l'écran de connexion. Je reçois une page disant - HTTPS required

Le serveur est sur AWS et passe à "ssl-required" : "none", dans General Adapter Config n'a pas aidé.

Comment résoudre ce problème?

Edit: je n'obtenais pas ce problème dans la version keycloak-1.2.0.Beta1.

18
Arjit

Si vous souhaitez le désactiver pour votre domaine et n'avez aucune possibilité d'utiliser l'interface utilisateur, faites-le directement sur la base de données:

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

Remarque - Redémarrez le keycloak pour obtenir un effet

17
Valelik

Ceci est assez ancien et maintenant sur les versions de sortie (j'utilise le pack démo/développeur Keycloak 1.9.3), cependant pour sauver un peu d'âme un peu de temps ....

Par défaut, Keycloak est désormais HTTPS pour toutes les adresses IP externes. Malheureusement, d'après ce que je peux dire, l'instance Wildfly fournie avec le pack de démonstration ne prend pas en charge HTTPS. Fait un défaut assez fou si vous installez Keycloak sur une machine distante car il n'y a en fait aucun moyen d'accéder à la console d'administration Keycloak dès le départ.

À ce stade, vous avez deux options; 1) Installez HTTPS dans Wildfly ou 2) Tunnel via SSH dans la machine distante et proxy votre navigateur à travers elle, accédez à la console d'administration et désactivez l'exigence SSL (Paramètres du domaine -> Connexion -> Exiger SSL). Cela fonctionne car SSL n'est pas requis pour les connexions locales.

N'oubliez pas de créer d'abord l'administrateur en accédant à $ KEYCLOAK_HOME/keycloak/bin et en exécutant ./add-user-keycloak -r master -u <> -p <>. Ce script d'ajout d'utilisateur n'est pas interactif comme le script d'ajout d'utilisateur Wildfly, vous devez tout mettre sur la ligne de commande.

J'espère que cela t'aides!

13
Brooks

Vous pouvez utiliser l'outil d'administration de la ligne de commande keycloak pour modifier le paramètre tant qu'il peut s'authentifier auprès d'une adresse IP locale. Vous pouvez lancer temporairement Keycloak sur localhost pour effectuer cette modification.

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

De toute évidence, assurez-vous de remplacer les noms de domaine, le nom d'utilisateur, le port, etc., au besoin.

Pour plus d'informations sur la mise en route de l'interface d'administration CLI, consultez la documentation: http://www.keycloak.org/docs/3.3/server_admin/topics/admin-cli.html

11
thelr

J'exécutais le masque de clé à l'intérieur d'un conteneur docker, l'outil de ligne de commande keycloak était disponible à l'intérieur du conteneur de keycloak.

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

Si l'utilisateur administrateur n'est pas créé, l'utilisateur peut être créé via cette commande.

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

Je teste dans docker keycloak: vérifiez que: Paramètres du domaine -> Connexion -> Exiger SSL et désactivez. ou docker exec YOUR_DOCKER_NAME /opt/jboss/keycloak/bin/jboss-cli.sh --connect\"/ subsystem = Undowow/server = default-server/http-listener = default: read-resource"

0
user2522715