在 Azure Container Apps 中为应用程序启用 Dapr 时,它会将环境变量APP_API_TOKEN注入到应用的容器中。 Dapr 在发送到你的应用程序的所有请求中都包含相同的令牌,具体如下:
- HTTP 标头 (
dapr-api-token) - gRPC 元数据选项 (
dapr-api-token[0])
令牌是随机生成的,在每个应用和应用修订版本中都是唯一的。 它也可以随时更改。 应用程序在启动时应从 APP_API_TOKEN 环境变量中读取令牌,以确保它使用的是正确的令牌。
可以使用此令牌来验证传入应用程序的调用确实来自 Dapr 边车,即便是通过公共终结点进行侦听时亦然。
-
daprd容器将其读取并注入到从 Dapr 到应用程序的每个调用中。 - 然后,应用程序可以使用该令牌来验证该请求是否来自 Dapr。
先决条件
对来自 Dapr 的请求进行身份验证
如果使用 Dapr SDK,Dapr SDK 会自动验证来自 Dapr 的所有传入请求中的令牌,拒绝不包含正确令牌的调用。 无需执行其他任何操作。
未包含令牌或包含错误令牌的传入请求会被自动拒绝。