From c27f88ca18874ef2a575a36f4a0392f84b515996 Mon Sep 17 00:00:00 2001 From: Brian Helba Date: Fri, 30 Jan 2026 11:11:22 -0500 Subject: [PATCH] Remove `VITE_APP_OAUTH_API_ROOT` env var The relative structure of the server URLS is set by us, so the data API and the OAuth API can both be expressed relative to a `VITE_APP_API_ROOT` value. --- client/src/api/api.ts | 2 +- client/src/plugins/Oauth.ts | 4 ++-- client/src/plugins/S3FileField.ts | 4 ++-- dev/.env.docker-compose | 3 +-- dev/.env.docker-compose-native | 3 +-- prod/.env.kitware-production.template | 3 +-- prod/.env.nabat-production.template | 3 +-- prod/NABat-Deploy.md | 1 - prod/client.Dockerfile | 2 -- prod/docker-compose.prod.yml | 1 - 10 files changed, 9 insertions(+), 17 deletions(-) diff --git a/client/src/api/api.ts b/client/src/api/api.ts index 102f3462..143f2221 100644 --- a/client/src/api/api.ts +++ b/client/src/api/api.ts @@ -141,7 +141,7 @@ export type OtherUserAnnotations = Record< export type UploadLocation = null | { latitude?: number; longitude?: number; gridCellId?: number }; export const axiosInstance = axios.create({ - baseURL: import.meta.env.VITE_APP_API_ROOT as string, + baseURL: `${import.meta.env.VITE_APP_API_ROOT as string}/api/v1`, }); export interface RecordingFileParameters { diff --git a/client/src/plugins/Oauth.ts b/client/src/plugins/Oauth.ts index 7c4281bb..cc08b3b6 100644 --- a/client/src/plugins/Oauth.ts +++ b/client/src/plugins/Oauth.ts @@ -4,8 +4,8 @@ import { ref } from 'vue'; const CLIENT_ID = 'HSJWFZ2cIpWQOvNyCXyStV9hiOd7DfWeBOCzo4pP'; const redirectUrl = new URL((import.meta.env.VITE_APP_LOGIN_REDIRECT || location.origin) as string); -const baseUrl = new URL(import.meta.env.VITE_APP_OAUTH_API_ROOT as string); -const oauthClient = new OauthClient(baseUrl, CLIENT_ID, { redirectUrl }); +const authorizationServerBaseUrl = new URL(`${import.meta.env.VITE_APP_API_ROOT as string}/oauth/`); +const oauthClient = new OauthClient(authorizationServerBaseUrl, CLIENT_ID, { redirectUrl }); export const loggedIn = ref(oauthClient.isLoggedIn); diff --git a/client/src/plugins/S3FileField.ts b/client/src/plugins/S3FileField.ts index 462441fd..4bcf2e52 100644 --- a/client/src/plugins/S3FileField.ts +++ b/client/src/plugins/S3FileField.ts @@ -5,7 +5,7 @@ let s3ffClient: S3FileFieldClient; export function createS3ffClient(axiosInstance: Axios) { s3ffClient = new S3FileFieldClient({ - baseUrl: `${import.meta.env.VITE_APP_API_ROOT}/s3-upload`, + baseUrl: `${import.meta.env.VITE_APP_API_ROOT}/api/v1/s3-upload`, // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore apiConfig: axiosInstance.defaults, // This argument is optional @@ -19,4 +19,4 @@ export function getS3ffClient() { } else { return s3ffClient; } -} \ No newline at end of file +} diff --git a/dev/.env.docker-compose b/dev/.env.docker-compose index 2d019fbb..d75d2092 100644 --- a/dev/.env.docker-compose +++ b/dev/.env.docker-compose @@ -13,6 +13,5 @@ DJANGO_INTERNAL_IPS=0.0.0.0/0 SERVERHOSTNAME=localhost NABAT_API_URL=https://api.sciencebase.gov/nabat-graphql/graphql -VITE_APP_API_ROOT=http://localhost:8000/api/v1 -VITE_APP_OAUTH_API_ROOT=http://localhost:8000/oauth/ +VITE_APP_API_ROOT=http://localhost:8000 VITE_APP_LOGIN_REDIRECT=http://localhost:3000 diff --git a/dev/.env.docker-compose-native b/dev/.env.docker-compose-native index ba34c7bc..972b4d6c 100644 --- a/dev/.env.docker-compose-native +++ b/dev/.env.docker-compose-native @@ -6,6 +6,5 @@ DJANGO_MINIO_STORAGE_URL=http://minioAccessKey:minioSecretKey@localhost:9000/dja SERVERHOSTNAME=localhost NABAT_API_URL=https://api.sciencebase.gov/nabat-graphql/graphql -VITE_APP_API_ROOT=http://localhost:8000/api/v1 -VITE_APP_OAUTH_API_ROOT=http://localhost:8000/oauth/ +VITE_APP_API_ROOT=http://localhost:8000 VITE_APP_LOGIN_REDIRECT=http://localhost:3000 diff --git a/prod/.env.kitware-production.template b/prod/.env.kitware-production.template index cfb15f5f..012770d4 100644 --- a/prod/.env.kitware-production.template +++ b/prod/.env.kitware-production.template @@ -30,8 +30,7 @@ SERVERHOSTNAME=batdetectai.kitware.com # Client NABAT_API_URL=https://api.sciencebase.gov/nabat-graphql/graphql -VITE_APP_API_ROOT=https://batdetectai.kitware.com/api/v1 -VITE_APP_OAUTH_API_ROOT=https://batdetectai.kitware.com/oauth/ +VITE_APP_API_ROOT=https://batdetectai.kitware.com VITE_APP_LOGIN_REDIRECT=https://batdetectai.kitware.com # nginx/traefik diff --git a/prod/.env.nabat-production.template b/prod/.env.nabat-production.template index b6b33f88..b5f77b88 100644 --- a/prod/.env.nabat-production.template +++ b/prod/.env.nabat-production.template @@ -34,6 +34,5 @@ SERVERHOSTNAME=batdetectai.kitware.com # Client Environment Variables NABAT_API_URL=https://api.sciencebase.gov/nabat-graphql/graphql -VITE_APP_API_ROOT=https://batdetectai.kitware.com/api/v1 -VITE_APP_OAUTH_API_ROOT=https://batdetectai.kitware.com/oauth/ +VITE_APP_API_ROOT=https://batdetectai.kitware.com VITE_APP_LOGIN_REDIRECT=https://batdetectai.kitware.com diff --git a/prod/NABat-Deploy.md b/prod/NABat-Deploy.md index 745de9fc..2332b782 100644 --- a/prod/NABat-Deploy.md +++ b/prod/NABat-Deploy.md @@ -11,7 +11,6 @@ docker build\ --build-arg BUILD_ENV=prod\ --build-arg DJANGO_BATAI_URL_PATH=${DJANGO_BATAI_URL_PATH}\ --build-arg VITE_APP_API_ROOT=${VITE_APP_API_ROOT}\ - --build-arg VITE_APP_OAUTH_API_ROOT=${VITE_APP_OAUTH_API_ROOT}\ --build-arg VITE_APP_LOGIN_REDIRECT=${VITE_APP_LOGIN_REDIRECT}\ -t ${AWS_IMAGE_LATEST}\ --pull -f ${DOCKER_FILE_LOCATION} . diff --git a/prod/client.Dockerfile b/prod/client.Dockerfile index 06b5715b..31782517 100644 --- a/prod/client.Dockerfile +++ b/prod/client.Dockerfile @@ -5,14 +5,12 @@ FROM node:lts-alpine AS build-stage # Build-time args ARG VITE_APP_API_ROOT -ARG VITE_APP_OAUTH_API_ROOT ARG VITE_APP_LOGIN_REDIRECT ARG DJANGO_BATAI_URL_PATH ARG DJANGO_MINIO_STORAGE_URL # Set environment for build ENV VITE_APP_API_ROOT=${VITE_APP_API_ROOT} -ENV VITE_APP_OAUTH_API_ROOT=${VITE_APP_OAUTH_API_ROOT} ENV VITE_APP_LOGIN_REDIRECT=${VITE_APP_LOGIN_REDIRECT} ENV VITE_APP_SUBPATH=${DJANGO_BATAI_URL_PATH} ENV DJANGO_MINIO_STORAGE_URL=${DJANGO_MINIO_STORAGE_URL} diff --git a/prod/docker-compose.prod.yml b/prod/docker-compose.prod.yml index c1ffc36e..315f3e1c 100644 --- a/prod/docker-compose.prod.yml +++ b/prod/docker-compose.prod.yml @@ -94,7 +94,6 @@ services: dockerfile: ./prod/client.Dockerfile args: VITE_APP_API_ROOT: ${VITE_APP_API_ROOT} - VITE_APP_OAUTH_API_ROOT: ${VITE_APP_OAUTH_API_ROOT} VITE_APP_LOGIN_REDIRECT: ${VITE_APP_LOGIN_REDIRECT} DJANGO_BATAI_URL_PATH: ${DJANGO_BATAI_URL_PATH} DJANGO_MINIO_STORAGE_URL: ${DJANGO_MINIO_STORAGE_URL}