如何在没有 .authtoken() 方法的情况下以编程方式在 Java 应用程序中设置 ngrok Authtoken?

问题描述 投票:0回答:1

我正在开发一个 Java 应用程序,需要集成 ngrok 将本地服务器公开到互联网。我面临的具体挑战是需要在 Java 代码中以编程方式设置 ngrok authtoken。文档和论坛中建议的常见方法涉及将 .authtoken() 方法与 ngrok 客户端构建器一起使用,如下所示:

`NgrokClient ngrokClient = new NgrokClient.Builder()
                               .authtoken("YOUR_AUTHTOKEN_HERE")
                               .build();`

但是,在我的场景中,.authtoken() 方法无法识别(它在我的 IDE 中以红色突出显示),表明它在我正在使用的 ngrok Java 客户端库版本中不可用或不适用。我正在利用 java-ngrok 库,但它似乎不直接支持以这种方式设置 authtoken。

我很感激任何关于如何在 Java 代码中安全地管理此配置的见解或建议。预先感谢您的帮助!

由于特定的项目需求,我需要直接在我的 Java 应用程序中硬编码 ngrok authtoken。 该解决方案应允许 ngrok 客户端在建立隧道时使用此硬编码令牌进行身份验证。我尝试查看库的文档以查找以编程方式设置 authtoken 的任何替代方法,但没有找到符合我需求的方法。 直接从 Java 执行系统命令,以 authtoken 作为命令行参数启动 ngrok,尽管由于在源代码中硬编码敏感信息的安全问题,这种方法对于我的用例来说并不理想。 问题: 如果 .authtoken() 方法在我的设置中不可用或不起作用,如何在我的 Java 应用程序中以编程方式设置 ngrok authtoken? Java 中是否有任何安全有效的解决方法或替代方法来实现此目的,最好不诉诸外部系统命令?

java maven testing ngrok
1个回答
0
投票

文档展示了如何执行此操作,您调用的方法不存在。

 final JavaNgrokConfig javaNgrokConfig = new JavaNgrokConfig.Builder()
         .withAuthToken("<NGROK_AUTHTOKEN>");

 final NgrokClient ngrokClient = new NgrokClient.Builder()
         .withJavaNgrokConfig(javaNgrokConfig)
         .build();

或者,设置

NGROK_AUTHTOKEN
环境变量意味着您甚至不需要执行上面的操作,只需构建一个
NgrokClient
,它将默认使用环境变量。

© www.soinside.com 2019 - 2024. All rights reserved.