Dans notre système, nous avons jusqu'à présent utilisé Keycloak 3.4.3 et la fonctionnalité de fournisseur d'authentification Script Authenticator dans le cadre de l'authentification basée sur le navigateur. Maintenant, après la mise à niveau vers Keycloak 4.6.0.Final , nous avons remarqué que l'option pour Script Authenticator a disparu de la liste.

Cette fonctionnalité était toujours présente dans Keycloak 4.5.0.Final. En raison des fonctionnalités qui ont été corrigées dans Keycloak 4.6.0.Final, nous n'avons pas la possibilité d'utiliser 4.5.0.

Nous avons utilisé la fonctionnalité Script Authenticator pour «mettre en liste blanche» nos utilisateurs en fonction des attributs LDAP. Depuis que l'option de script a été supprimée, nous ne pouvons plus utiliser Keycloak.

Avez-vous des idées pour lesquelles le script Authenticator a été supprimé? Ou pourrait-il être déplacé vers un autre endroit de la console d'administration Keycloak?

Juste pour ajouter quelques détails:

4
Esa S 20 nov. 2018 à 12:42

3 réponses

Meilleure réponse

Vous pouvez activer cette fonctionnalité en démarrant le serveur avec:

-Dkeycloak.profile.feature.scripts=enabled

Ou vous pouvez le définir de façon permanente dans le fichier profile.properties (dans le dossier de configuration) en ajoutant:

feature.scripts=enabled 
4
halfer 7 nov. 2019 à 12:07

Vous devez également activer upload_scripts en tant que:

-Dkeycloak.profile.feature.scripts=enabled -Dkeycloak.profile.feature.upload_scripts=enabled

Mais cette fonctionnalité "upload_scripts" est obsolète depuis Keycloak 7.0.1.Final

Pour une meilleure solution, vous devez utiliser les fournisseurs JavaScript

2
Abdourahmane FALL 8 janv. 2020 à 15:02

Tout d'abord merci aux gars avec la solution profile.feature.

Deuxièmement, je voulais ajouter une entrée - si vous utilisez keycloak avec docker, vous devrez exécuter le conteneur avec l'argument java_opts pour pouvoir faire ceci:

-e JAVA_OPTS="-Dkeycloak.profile.feature.scripts=enabled
-Dkeycloak.profile.feature.upload_scripts=enabled -server -Xms64m -Xmx512m 
-XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true 
-Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true"

Notez que vous aurez également besoin des autres arguments comme -server, -Xms64m, etc. (que vous pouvez ajuster à votre guise).

0
Edwin 21 janv. 2020 à 15:04