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 Console
link 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.
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
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!
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
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
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"