为 Dapr 请求启用令牌身份验证

在 Azure 容器应用中为应用程序启用 Dapr 时,它会将环境变量 APP_API_TOKEN 注入到应用的容器中。 Dapr 在发送到应用的所有请求中包含相同的令牌,如下所示:

  • HTTP 标头 (dapr-api-token)
  • gRPC 元数据选项 (dapr-api-token[0])

令牌是随机生成的,在每个应用和应用修订版本中都是唯一的。 它也可以随时更改。 应用程序在启动时应从 APP_API_TOKEN 环境变量中读取令牌,以确保它使用的是正确的令牌。

可以使用此令牌验证传入应用程序的调用实际上来自 Dapr sidecar,即使在侦听公共终结点时也是如此。

  1. daprd 容器将其读取并注入到从 Dapr 到应用程序的每个调用中。
  2. 然后,应用程序可以使用该令牌来验证该请求是否来自 Dapr。

先决条件

已启用 Dapr 的 Azure 容器应用

对来自 Dapr 的请求进行身份验证

如果使用 Dapr SDK,Dapr SDK 会自动验证来自 Dapr 的所有传入请求中的令牌,拒绝不包含正确令牌的调用。 无需执行其他任何操作。

不会包含令牌或包含错误令牌的传入请求会被自动拒绝。

后续步骤

详细了解 Dapr 与 Azure 容器应用的集成。