From e9f504aa0c6d4b5b278540f98214a831c39b476c Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Tue, 18 Jun 2024 20:56:29 -1000 Subject: [PATCH] fix(api): :bug: Proxy all OIDC provider icons --- server/api/api/v1/instance/index.ts | 2 +- server/api/api/v1/sso/:id/index.ts | 4 ++-- server/api/api/v1/sso/index.ts | 4 ++-- server/api/api/v2/instance/index.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/api/api/v1/instance/index.ts b/server/api/api/v1/instance/index.ts index 35b0e38d..a9cea161 100644 --- a/server/api/api/v1/instance/index.ts +++ b/server/api/api/v1/instance/index.ts @@ -92,7 +92,7 @@ export default (app: Hono) => forced: false, providers: config.oidc.providers.map((p) => ({ name: p.name, - icon: p.icon, + icon: proxyUrl(p.icon) || undefined, id: p.id, })), }, diff --git a/server/api/api/v1/sso/:id/index.ts b/server/api/api/v1/sso/:id/index.ts index e83523ef..7b4b19c8 100644 --- a/server/api/api/v1/sso/:id/index.ts +++ b/server/api/api/v1/sso/:id/index.ts @@ -1,5 +1,5 @@ import { applyConfig, auth, handleZodError } from "@/api"; -import { errorResponse, jsonResponse, response } from "@/response"; +import { errorResponse, jsonResponse, proxyUrl, response } from "@/response"; import { zValidator } from "@hono/zod-validator"; import { eq } from "drizzle-orm"; import type { Hono } from "hono"; @@ -77,7 +77,7 @@ export default (app: Hono) => return jsonResponse({ id: issuer.id, name: issuer.name, - icon: issuer.icon, + icon: proxyUrl(issuer.icon) || undefined, }); } case "DELETE": { diff --git a/server/api/api/v1/sso/index.ts b/server/api/api/v1/sso/index.ts index 764cf57a..6f9769ef 100644 --- a/server/api/api/v1/sso/index.ts +++ b/server/api/api/v1/sso/index.ts @@ -1,7 +1,7 @@ import { applyConfig, auth, handleZodError, jsonOrForm } from "@/api"; import { oauthRedirectUri } from "@/constants"; import { randomString } from "@/math"; -import { errorResponse, jsonResponse } from "@/response"; +import { errorResponse, jsonResponse, proxyUrl } from "@/response"; import { zValidator } from "@hono/zod-validator"; import type { Hono } from "hono"; import { @@ -84,7 +84,7 @@ export default (app: Hono) => return { id: issuer.id, name: issuer.name, - icon: issuer.icon, + icon: proxyUrl(issuer.icon) || undefined, }; }) .filter(Boolean) as { diff --git a/server/api/api/v2/instance/index.ts b/server/api/api/v2/instance/index.ts index 9cc278d9..78067f39 100644 --- a/server/api/api/v2/instance/index.ts +++ b/server/api/api/v2/instance/index.ts @@ -104,7 +104,7 @@ export default (app: Hono) => forced: false, providers: config.oidc.providers.map((p) => ({ name: p.name, - icon: p.icon, + icon: proxyUrl(p.icon) || undefined, id: p.id, })), },