From 80956246e1b80360c82d238cc9aafbc19557a58f Mon Sep 17 00:00:00 2001 From: Mathieu Tarral Date: Mon, 24 Aug 2026 22:06:15 +0200 Subject: [PATCH] docs: remove Auth0 residue from docs and config The code went with #55; the docs kept advertising Auth0 as a working optional feature, sending newcomers to a vendor dashboard for three variables nothing reads. Drops the environment reference section, the VITE_AUTH0_* type declarations and .env.example block, the deleted CallbackView.vue from the architecture tree, and the stale CLAUDE.md guidance. build.yml's header comment said the frontend is deliberately not published as an image, which stopped being true when deploy.yml started pushing to GHCR. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01FNgjQ6o613ULuMRGhLnyUU --- .env.example | 2 - .github/workflows/build.yml | 7 ++- .github/workflows/deploy.yml | 2 +- CLAUDE.md | 18 ++------ docs/index.md | 1 - docs/reference/architecture.md | 3 +- docs/reference/environment.md | 78 +--------------------------------- env.d.ts | 3 -- 8 files changed, 9 insertions(+), 105 deletions(-) diff --git a/.env.example b/.env.example index fc635cd..85d5d71 100644 --- a/.env.example +++ b/.env.example @@ -3,5 +3,3 @@ # GraphQL API endpoint VITE_OSWATCHER_API_URI=http://localhost:4000 -# Auth0 Configuration -# Get these values from your Auth0 dashboard (https://manage.auth0.com/) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b79919c..4382eb3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,10 +4,9 @@ # api.oswatcher.com, a domain that no longer resolves. The Pages site was # unpublished, so the deploy step could only fail. # -# The frontend is deliberately not published as a container image: it is a Vue -# SPA whose API URI and Auth0 configuration are baked in at build time via -# VITE_* build args, so one image cannot serve more than a single deployment. -# compose.prod.yml therefore builds it from source with per-deployment args. +# Publishing is handled by deploy.yml, which pushes the image to GHCR. The +# bundle is built with a placeholder API URI that docker-entrypoint.sh +# substitutes at container start, so one image serves any deployment. name: Build on: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 2f9bc08..14411ee 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -3,7 +3,7 @@ # The image is built WITHOUT VITE_* build args on purpose. Vite resolves # import.meta.env.* at build time, so the bundle is baked with the sentinel # defaults from the Dockerfile and docker-entrypoint.sh substitutes the real -# API URI and Auth0 configuration when the container starts. That is what lets +# API URI when the container starts. That is what lets # a single published image serve any deployment. name: Deploy to GHCR diff --git a/CLAUDE.md b/CLAUDE.md index 72c925e..508c4be 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -29,7 +29,6 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ### Technology Stack - **Frontend**: Vue 3 with Composition API and TypeScript - **UI Framework**: Naive UI component library -- **Authentication**: Auth0 (optional, configured via environment variables) - **GraphQL**: Apollo Client for API communication - **Build Tool**: Vite with Vue plugin - **Styling**: CSS with scoped component styles @@ -39,7 +38,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co - `src/components/` - Reusable Vue components organized by feature - `src/router/` - Vue Router configuration - `src/queries.ts` - GraphQL queries and mutations -- `src/graphql-client.ts` - Apollo Client setup and configuration with Auth0 token injection +- `src/graphql-client.ts` - Apollo Client setup and configuration - `src/graphql-types.ts` - Auto-generated TypeScript types from GraphQL schema - `docs/reference/` - Technical reference documentation (VitePress) @@ -52,7 +51,6 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co - **Single Mode**: View a single commit's data (filesystem, registry, symbols) - **Comparison Mode**: Compare two commits showing differences - Supports both unified and side-by-side layouts -3. **Authentication** (`CallbackView`): Auth0 integration for user authentication (optional, not enforced by default) ### GraphQL Integration - Schema located at `schema.graphql` defines the data model @@ -75,16 +73,8 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co #### Required Environment Variables - `VITE_OSWATCHER_API_URI` - GraphQL API endpoint URL (used for Apollo Client and blob downloads via REST API `/blob/:hash`) -#### Optional Environment Variables (Auth0) -- `VITE_AUTH0_DOMAIN` - Auth0 tenant domain (e.g., your-tenant.us.auth0.com) -- `VITE_AUTH0_CLIENT_ID` - Auth0 application client ID -- `VITE_AUTH0_AUDIENCE` - Auth0 API identifier for access tokens - -Authentication is optional and not enforced by default. When configured, the application will: -- Display login/logout UI in the header -- Automatically include Bearer tokens in GraphQL requests -- Support social login (Google, GitHub) and email/password authentication -- Use localStorage with refresh tokens for persistent sessions +The frontend is unauthenticated. Auth0 was removed once the deployment became +public; there is no login flow and no token injection. #### Development Setup 1. Copy `.env.example` to `.env` and configure required variables @@ -113,8 +103,6 @@ The project includes comprehensive technical reference documentation: ### Development Notes - **Search functionality**: Global filesystem search available via Ctrl+K (streams results from GraphQL) - **Backend**: Expects Neo4j-backed GraphQL API serving commit, filesystem, registry, and PDB data -- **Authentication**: Auth0 integration is optional and can be enabled via environment variables - **UI Library**: Naive UI provides consistent component design and theming - **Type Safety**: Enforced through TypeScript and auto-generated GraphQL types -- **Token Management**: Apollo Client automatically injects Auth0 Bearer tokens when available - **Routing**: Uses Vue Router with support for single and comparison inspector modes \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 66f89e0..649f7eb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,7 +10,6 @@ OSWatcher Frontend is a Vue.js application for exploring operating system analys - **Frontend**: Vue 3 with Composition API and TypeScript - **UI Framework**: Naive UI component library -- **Authentication**: Auth0 (optional) - **GraphQL**: Apollo Client for API communication - **Build Tool**: Vite with Vue plugin - **Styling**: CSS with scoped component styles diff --git a/docs/reference/architecture.md b/docs/reference/architecture.md index b20d2f6..93810aa 100644 --- a/docs/reference/architecture.md +++ b/docs/reference/architecture.md @@ -28,8 +28,7 @@ This document provides a complete technical reference for the OSWatcher Frontend src/ ├── views/ # Main application views │ ├── HomeView.vue # Commit history view -│ ├── InspectorView.vue # Unified inspector (single/comparison modes) -│ └── CallbackView.vue # Auth0 callback handler +│ └── InspectorView.vue # Unified inspector (single/comparison modes) ├── components/ # Reusable components │ ├── FilesystemInspector.vue # Filesystem inspector (single/comparison) │ ├── RegistryInspector.vue # Registry inspector (single/comparison) diff --git a/docs/reference/environment.md b/docs/reference/environment.md index 3d5b8f2..8cafde6 100644 --- a/docs/reference/environment.md +++ b/docs/reference/environment.md @@ -34,71 +34,6 @@ if (!apiUri) { **File Location:** `src/graphql-client.ts:6-8`, `src/download.ts`, `src/utils/filesystem.ts` -## Optional Environment Variables - -### Auth0 Configuration - -Auth0 authentication is integrated but optional. If not configured, the application will still function but authentication features will not work. - -#### `VITE_AUTH0_DOMAIN` - -**Type:** `string` -**Required:** No (for authentication features) -**Description:** Your Auth0 tenant domain. - -**Example Values:** -```bash -VITE_AUTH0_DOMAIN=your-tenant.us.auth0.com -``` - -**How to obtain:** -1. Log in to [Auth0 Dashboard](https://manage.auth0.com/) -2. Navigate to your Application settings -3. Copy the "Domain" field - -**File Location:** `src/main.ts` - -#### `VITE_AUTH0_CLIENT_ID` - -**Type:** `string` -**Required:** No (for authentication features) -**Description:** Your Auth0 application client ID. - -**Example Values:** -```bash -VITE_AUTH0_CLIENT_ID=abc123xyz789 -``` - -**How to obtain:** -1. Log in to [Auth0 Dashboard](https://manage.auth0.com/) -2. Navigate to Applications > Applications -3. Select your SPA application -4. Copy the "Client ID" field - -**File Location:** `src/main.ts` - -#### `VITE_AUTH0_AUDIENCE` - -**Type:** `string` -**Required:** No (for API authentication) -**Description:** Your Auth0 API identifier (audience). Required for obtaining access tokens for the GraphQL API. - -**Example Values:** -```bash -VITE_AUTH0_AUDIENCE=https://your-api.example.com -``` - -**How to obtain:** -1. Log in to [Auth0 Dashboard](https://manage.auth0.com/) -2. Navigate to Applications > APIs -3. Create or select your API -4. Copy the "Identifier" field - -**File Location:** `src/main.ts` - -**Backend Integration:** -The backend Neo4j GraphQL server must be configured to verify Auth0 JWT tokens using the JWKS endpoint. - ## Environment File Setup ### Standalone vs. OSWatcher Deploy @@ -113,10 +48,6 @@ Create a `.env` file in the project root: # Backend API endpoint (GraphQL and blob downloads) VITE_OSWATCHER_API_URI=http://localhost:4000 -# Auth0 Configuration (optional) -VITE_AUTH0_DOMAIN=your-tenant.us.auth0.com -VITE_AUTH0_CLIENT_ID=your_client_id_here -VITE_AUTH0_AUDIENCE=https://your-api.example.com ``` ### Production Environment @@ -127,10 +58,6 @@ Environment variables should be set through your deployment platform: # Backend API endpoint (GraphQL and blob downloads) VITE_OSWATCHER_API_URI=https://api.oswatcher.com -# Auth0 Configuration (optional) -VITE_AUTH0_DOMAIN=your-tenant.us.auth0.com -VITE_AUTH0_CLIENT_ID=your_production_client_id -VITE_AUTH0_AUDIENCE=https://api.oswatcher.com ``` ## Variable Naming Convention @@ -189,9 +116,6 @@ Environment variable types are defined in `env.d.ts`: ```typescript interface ImportMetaEnv { readonly VITE_OSWATCHER_API_URI: string - readonly VITE_AUTH0_DOMAIN: string - readonly VITE_AUTH0_CLIENT_ID: string - readonly VITE_AUTH0_AUDIENCE: string } ``` @@ -213,7 +137,7 @@ interface ImportMetaEnv { 3. **File Download Failures** - Verify `VITE_OSWATCHER_API_URI` is correctly configured - Check that the backend REST API `/blob/:hash` endpoint is accessible - - Ensure proper authentication/access permissions + - Ensure the blob exists in object storage ### Debugging diff --git a/env.d.ts b/env.d.ts index b96b57b..319721b 100644 --- a/env.d.ts +++ b/env.d.ts @@ -2,9 +2,6 @@ interface ImportMetaEnv { readonly VITE_OSWATCHER_API_URI: string - readonly VITE_AUTH0_DOMAIN: string - readonly VITE_AUTH0_CLIENT_ID: string - readonly VITE_AUTH0_AUDIENCE: string } interface ImportMeta {