Policies
Upstream Firebase User Auth Policy
This policy adds a Firebase Admin token to the outgoing Authentication
header
allowing requests to Firebase using Service Account admin permissions. This can
be useful for calling Firebase services such as Firestore through a Zuplo
endpoint that is secured with other means of Authentication such as API keys.
Additionally, this policy can be useful for service content to all API users
(for example serving a specific Firestore document containing configuration
data)
We recommend reading the serviceAccountJson
from environment variables (so it
is not checked in to source control) using the $env(ENV_VAR)
syntax.
Configuration
The configuration shows how to configure the policy in the 'policies.json' document.
Policy Options
The options for this policy are specified below. All properties are optional unless specifically marked as required.
serviceAccountJson
<string> (Required) -The Google Service Account key in JSON format. Note you can load this from environment variables using the $env(ENV_VAR) syntax.userId
<string> -The userId to use as the custom token's subject.userIdPropertyPath
<string> -The property on the incoming request.user object to retrieve the value of the userId.developerClaims
<object> -Additional claims to include in the custom token's payload.webApiKey
<string> (Required) -The Firebase Web API Key (found in project settings)tokenRetries
<number> -The number of times to retry fetching the token in the event of a failure.Defaults to3
.expirationOffsetSeconds
<number> -The number of seconds less than the token expiration to cache the token.Defaults to300
.
Using the Policy
Read more about how policies work