import cn.craftlabs.auth.AuthProvider; import cn.craftlabs.auth.AuthResult; import cn.craftlabs.auth.bitanswer.BitAnswerProvider; import cn.craftlabs.auth.config.AuthConfig; import cn.craftlabs.auth.config.AuthConfigException; import cn.craftlabs.auth.config.AuthConfigs; /** * 演示:校验 {@code config_json} 后初始化并完成许可校验。 * *
编译时需将 {@code craftlabs-auth-core} 与 Jackson 置于 classpath(与 Maven 模块依赖一致)。 * *
版权所有 © 广州创飞人工智能技术有限公司 * * @author huangping@craftlabs.cn */ public class ExampleApp { public static void main(String[] args) { String json = """ { "schemaVersion": 1, "provider": "bitanswer", "scenario": "school", "bitanswer": { "url": "https://example.invalid/bitanswer", "loginMode": "AUTO" }, "features": { "face": { "bitanswerFeatureId": 201 }, "expression": { "bitanswerFeatureId": 202 } }, "school": { "edgeDeviceId": "demo-edge-01", "tenantId": "demo-tenant" } } """; try { AuthConfig cfg = AuthConfigs.parse(json); System.out.println("scenario=" + cfg.scenario() + ", face id=" + cfg.bitanswerFeatureId("face")); } catch (AuthConfigException e) { System.err.println("config invalid: " + e.getMessage()); return; } try (AuthProvider p = new BitAnswerProvider()) { AuthResult r = p.initialize(json); System.out.println("init: " + r.isSuccess() + " " + r.getMessage()); r = p.checkLicense(); System.out.println("check: " + r.isSuccess() + " " + r.getMessage()); } } }