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