你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
用于发布或订阅 MQTT 消息的自定义 JWT 身份验证和授权
可以使用自定义 JWT 对 MQTT 客户端进行身份验证,以连接到事件网格命名空间。 可以在 JWT 令牌中嵌入和验证自定义声明,以授权发布或订阅对事件网格主题空间的权限。
重要
- 仅在使用 MQTT v5 协议版本时才支持此功能。
先决条件
- 需要一个启用了 MQTT 的事件网格命名空间。 了解创建事件网格命名空间
使用自定义 JWT 进行身份验证
可以使用 MQTT v5 CONNECT 数据包来提供自定义 JWT 令牌以验证客户端,也可以使用 MQTT v5 AUTH 数据包来刷新令牌。
重要
- 如果未将 CONNECT 数据包的身份验证方法设置为 CUSTOM-JWT,则即使所有其他配置都正确,也会收到“无效颁发者”错误。
在 CONNECT 数据包中,可以在以下字段中提供所需值:
字段 | 值 |
---|---|
身份验证方法 | CUSTOM-JWT |
身份验证数据 | JWT 令牌 |
在 AUTH 数据包中,可以在以下字段中提供所需值:
字段 | 值 |
---|---|
身份验证方法 | CUSTOM-JWT |
身份验证数据 | JWT 令牌 |
身份验证原因代码 | 25 |
值为 25 的身份验证原因代码表示重新进行身份验证。
注意
- 受众:“aud”声明必须设置为“https://eventgrid.azure.net/"”。
访问权限
使用自定义 JWT 身份验证的客户端可以使用客户端属性和权限来限制对特定主题的访问。