连接鉴权

Bootstrap.builder()
.authConfig(AuthConfig)
.build()
1
2
3

# 匿名登录

不需要配置任何认证,则可开启匿名登录

# 固定密码

        AuthConfig authConfig = new AuthConfig();
        AuthConfig.FixedAuthConfig fixedAuthConfig = new AuthConfig.FixedAuthConfig();
        fixedAuthConfig.setUsername("SMQTT");
        fixedAuthConfig.setPassword("SMQTT");
        authConfig.setFixed(fixedAuthConfig);
1
2
3
4
5

# Http认证

        AuthConfig authConfig = new AuthConfig();
        AuthConfig.HttpAuthConfig httpAuthConfig = new AuthConfig.HttpAuthConfig();
        httpAuthConfig.setHost("www.baidu.com");
        httpAuthConfig.setPort(443);
        httpAuthConfig.setPath("/test");
        authConfig.setHttp(httpAuthConfig);

        httpAuthConfig.setHeaders(); //设置请求携带的headers
        httpAuthConfig.setParams();  // 设置额外的参数
1
2
3
4
5
6
7
8
9

请求方式固定 POST body 格式为: {"clientIdentifier":"","username":"","password":""} 返回状态码 200 即可 如果检验失败返回400

# Sql认证

        AuthConfig.SqlAuthConfig sqlAuthConfig = new AuthConfig.SqlAuthConfig();
        sqlAuthConfig.setAuthSql("SELECT COUNT(1) FROM DEVICE where username =? and password = ? and deviceId =?");
        sqlAuthConfig.setDriver("com.mysql.jdbc.Driver");
        sqlAuthConfig.setUrl("jdbc:mysql://127.0.0.1:3306/smqtt");
        sqlAuthConfig.setUsername("smqtt");
        sqlAuthConfig.setPassword("sss");
        authConfig.setSql(sqlAuthConfig);
1
2
3
4
5
6
7

默认引入mysql的驱动,如果使用其他数据自行引入驱动,修改对应的driver,查询第一个参数必须是username 第二个参数 password 第三个是 deviceId 默认返回条数就可以,有结果集的时候即判断检验成功,允许登录

Last Updated: 5/28/2022, 2:44:06 PM