#jwt #authorization #mqtt #plugin #mosquitto #password

mosquitto-jwt-auth

用于Mosquitto MQTT代理的插件,通过JWT和密码实现身份验证和授权。

1 个不稳定版本

0.2.0 2019年7月28日

#964 in 身份验证

自定义许可

41KB
1K SLoC

mosquitto-jwt-auth

Build Status Coverage Status

用于Mosquitto的简单插件,通过JWT作为MQTT密码实现身份验证和授权。

需要至少Mosquitto v1.6.3

配置

属性 有效值 使用方法
auth_opt_jwt_alg HS256, HS384, HS512, ES256, ES384, RS256, RS384, RS512 设置JWT签名的算法
auth_opt_jwt_sec_file <环境变量名称> 包含用于验证签名的密钥的文件的路径。对于RSA,应为DER编码
auth_opt_jwt_sec_env <环境变量名称> 包含用于验证签名的base64编码密钥的环境变量名称。
auth_opt_jwt_sec_base64 <base64-编码-密钥> 用于验证签名的base64编码密钥。
auth_opt_jwt_validate_exp (默认) true, false true如果应验证JWT的exp声明/过期日期
auth_opt_jwt_validate_sub_match_username (默认) true, false true如果MQTT用户名必须与sub声明中指定的相同

自定义声明

  • publ (可选) 包含客户端允许发布的主题(过滤器)

  • subl (可选) 包含客户端允许订阅的主题(过滤器)

    {
      "sub": "mqttUser",
      "iat": 1516239022,
      "exp": 1616239022,
      "subs": ["/+/topic", "/abc/#"],
      "publ": ["/abc"]
    }
    

依赖

~9MB
~260K SLoC