在Keycloak中测试/调试JavaScript映射器/策略的最佳方法

5

我刚接触Keycloak,一直在尝试设置基于JavaScript的授权策略和客户端映射器。我想知道调试此类映射器或策略的最佳方法。

目前,如果脚本中存在任何错误,我只能在服务器日志中找到它们,但是否有办法使用alert或console.log之类的东西?无论哪种情况,服务器日志都会提到:

Caused by: <eval>:18 ReferenceError: "alert" is not defined
Caused by: <eval>:18 ReferenceError: "console" is not defined 

当脚本运行时,如果我至少可以记录属性或特性的值以检查正在发生的事情,那将非常有帮助。

4
找到了答案,Keycloak使用Nashorn引擎来执行JavaScript代码,我们可以使用print()函数在Keycloak控制台中打印/记录值。 - Tatha
2个回答

8

您可以使用

print("something");

你将在服务器日志中看到它


我希望有一种像普通的Java脚本一样调试的方法,我需要检查对象。当我在身份验证请求中传递头时,它们是空的。 - MathGuy

2

您可以使用调试选项启动KeyCloak,例如使用以下脚本:

#!/bin/bash
echo "Starting KeyCloak"
sh ./keycloak-4.7.0.Final/bin/standalone.sh --debug 6666

我用这个工具来调试我的Java映射器和Java提供程序。也许它对JavaScript也有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接