Google Cloud IoT Core 支持多种设备身份验证方法,即使不使用 JSON Web Tokens (JWT),也有其他方式可以验证设备。以下是一些常见的设备身份验证方法:
X.509 证书是一种广泛使用的公钥基础设施 (PKI) 标准,可以用于设备身份验证。
对称密钥身份验证是一种简单的方法,适用于小型部署或测试环境。
Google Cloud IoT Core 还支持自定义身份验证机制,允许你实现自己的身份验证逻辑。
以下是一个使用 X.509 证书进行身份验证的简单示例:
openssl req -x509 -newkey rsa:4096 -keyout device-key.pem -out device-cert.pem -days 365 -nodes
device-cert.pem
文件并记录设备 ID。import ssl
import paho.mqtt.client as mqtt
# 配置参数
project_id = "your-project-id"
cloud_region = "your-cloud-region"
registry_id = "your-registry-id"
device_id = "your-device-id"
ca_certs = "path/to/roots.pem"
device_cert = "path/to/device-cert.pem"
device_key = "path/to/device-key.pem"
# 创建 MQTT 客户端
client = mqtt.Client(client_id="projects/{}/locations/{}/registries/{}/devices/{}".format(
project_id, cloud_region, registry_id, device_id))
# 设置 TLS/SSL 上下文
client.tls_set(ca_certs=ca_certs, certfile=device_cert, keyfile=device_key, cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLSv1_2)
# 连接到 Google Cloud IoT Core
client.connect("mqtt.googleapis.com", port=8883)
# 发布消息
client.publish("/devices/{}/config".format(device_id), payload="Hello, World!")
# 断开连接
client.disconnect()
通过这些方法,你可以在不使用 JWT 的情况下实现 Google Cloud IoT Core 设备的身份验证。选择适合你应用场景的方法并进行相应的配置。
领取专属 10元无门槛券
手把手带您无忧上云