Upstream GCP Self-Signed JWT
This policy adds a JWT token to the headers, ready for us in an outgoing request when calling a GCP service (e.g. Cloud Endpoints / ESPv2). We recommend reading the serviceAccountJson
from environment variables (so it is not checked in to source control) using the $env(ENV_VAR)
syntax.
CAUTION: This policy only works with certain Google APIs. In most cases, the Upstream GCP Service Auth should be used.
Configuration#
{
"name": "my-upstream-gcp-jwt-inbound-policy",
"policyType": "upstream-gcp-jwt-inbound",
"handler": {
"export": "UpstreamGcpJwtInboundPolicy",
"module": "$import(@zuplo/runtime)",
"options": {
"audience": "your_gcp_service.endpoint.com",
"serviceAccountJson": "$env(SERVICE_ACCOUNT_JSON)"
}
}
}
Options#
name
the name of your policy instance. This is used as a reference in your routes.policyType
the identifier of the policy. This is used by the Zuplo UI. Value should beupstream-gcp-jwt-inbound
.handler/export
The name of the exported type. Value should beUpstreamGcpJwtInboundPolicy
.handler/module
the module containing the policy. Value should be$import(@zuplo/runtime)
.handler/options
The options for this policy:audience
The audience for the minted JWT. See the document AuthRequirement for details.
serviceAccountJson
The Google Service Account key in JSON format. Note you can load this from environment variables using the $env(ENV_VAR) syntax.