Update GCP auth docs

This commit is contained in:
Tuan Dang
2024-05-07 14:58:14 -07:00
parent d98430fe07
commit ac469dbe4f
8 changed files with 35 additions and 9 deletions
@@ -6,6 +6,7 @@ import { readLimit, writeLimit } from "@app/server/config/rateLimiter";
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
import { AuthMode } from "@app/services/auth/auth-type";
import { TIdentityTrustedIp } from "@app/services/identity/identity-types";
import { validateGcpIamAuthField } from "@app/services/identity-gcp-iam-auth/identity-gcp-iam-auth-validators";
export const registerIdentityGcpIamAuthRouter = async (server: FastifyZodProvider) => {
server.route({
@@ -73,8 +74,8 @@ export const registerIdentityGcpIamAuthRouter = async (server: FastifyZodProvide
identityId: z.string().trim()
}),
body: z.object({
allowedServiceAccounts: z.string(), // TODO: better validation
allowedProjects: z.string(), // TODO: better validation
allowedServiceAccounts: validateGcpIamAuthField,
allowedProjects: validateGcpIamAuthField,
accessTokenTrustedIps: z
.object({
ipAddress: z.string().trim()
@@ -0,0 +1,14 @@
import { z } from "zod";
export const validateGcpIamAuthField = z
.string()
.trim()
.default("")
.transform((data) => {
if (data === "") return "";
// Trim each ID and join with ', ' to ensure formatting
return data
.split(",")
.map((id) => id.trim())
.join(", ");
});