From 5f29b1668534fcac6645144f9e4585606ec5055d Mon Sep 17 00:00:00 2001 From: Sreeram Sreedhar Date: Tue, 23 Jun 2026 18:24:14 -0700 Subject: [PATCH] Remove desktop API key login --- apps/desktop/app/login/page.tsx | 50 ------------------------------ apps/desktop/lib/auth.ts | 6 ---- apps/desktop/src-tauri/src/auth.rs | 10 ++---- apps/desktop/src-tauri/src/lib.rs | 6 ---- 4 files changed, 3 insertions(+), 69 deletions(-) diff --git a/apps/desktop/app/login/page.tsx b/apps/desktop/app/login/page.tsx index 1ce72f67..fddb7930 100644 --- a/apps/desktop/app/login/page.tsx +++ b/apps/desktop/app/login/page.tsx @@ -11,7 +11,6 @@ import { ExternalAuthButton } from "@ui/button/external-auth" import { Badge } from "@ui/components/badge" import { Button } from "@ui/components/button" import { Input } from "@ui/components/input" -import { Label } from "@ui/components/label" import { TextSeparator } from "@ui/components/text-separator" import { Loader2 } from "lucide-react" import { useRouter } from "next/navigation" @@ -24,19 +23,16 @@ import { } from "react" import { beginSocialAuth, - desktopDevAuthEnabled, getSession, onAuthChanged, onAuthError, sendMagicLink, - storeToken, verifyMagicLinkToken, } from "@/lib/auth" import { postAuthRedirectPath } from "@/lib/onboarding" export default function LoginPage() { const router = useRouter() - const [token, setToken] = useState("") const [email, setEmail] = useState("") const [submittedEmail, setSubmittedEmail] = useState(null) const [loginCode, setLoginCode] = useState("") @@ -86,21 +82,6 @@ export default function LoginPage() { } }, [router]) - async function onSubmit(event: FormEvent) { - event.preventDefault() - setError(null) - setIsSubmitting(true) - - try { - await storeToken(token) - router.replace(postAuthRedirectPath()) - } catch (err) { - setError(formatError(err, "Could not sign in")) - } finally { - setIsSubmitting(false) - } - } - async function startSocialAuth(provider: "google" | "github") { setError(null) setSubmittedEmail(null) @@ -335,37 +316,6 @@ export default function LoginPage() { {error}

) : null} - - {desktopDevAuthEnabled ? ( -
- - Development API key - -
-
- - setToken(event.target.value)} - placeholder="sm_..." - type="password" - autoComplete="off" - /> -
- -
-
- ) : null} diff --git a/apps/desktop/lib/auth.ts b/apps/desktop/lib/auth.ts index 112715cc..5d33883a 100644 --- a/apps/desktop/lib/auth.ts +++ b/apps/desktop/lib/auth.ts @@ -10,7 +10,6 @@ export type AuthSession = { apiUrl: string } -export const desktopDevAuthEnabled = process.env.NEXT_PUBLIC_DESKTOP_DEV === "1" export const AUTH_CHANGED_EVENT = "auth:changed" export const AUTH_ERROR_EVENT = "auth:error" @@ -27,11 +26,6 @@ export async function getSession() { return invoke("auth_whoami") } -export async function storeToken(token: string) { - await invoke("auth_store_token", { token }) - return getSession() -} - export async function beginBrowserAuth() { return invoke("auth_begin_browser") } diff --git a/apps/desktop/src-tauri/src/auth.rs b/apps/desktop/src-tauri/src/auth.rs index 219e3515..f011042d 100644 --- a/apps/desktop/src-tauri/src/auth.rs +++ b/apps/desktop/src-tauri/src/auth.rs @@ -171,10 +171,6 @@ fn is_loopback_http_url(value: &str) -> bool { .unwrap_or(false) } -pub fn store_token(token: String) -> Result<(), String> { - store_token_with_api_url(token, Some(configured_api_url())) -} - pub fn store_token_with_api_url(token: String, api_url: Option) -> Result<(), String> { let token = token.trim(); if token.is_empty() { @@ -682,7 +678,7 @@ fn complete_browser_auth(parsed: url::Url) -> Result<(), String> { return Err(format!("Browser sign-in failed: {error}")); } - let api_key = params + let auth_token = params .iter() .find_map(|(key, value)| (key == "apikey").then(|| value.to_string())) .or_else(|| { @@ -695,7 +691,7 @@ fn complete_browser_auth(parsed: url::Url) -> Result<(), String> { .iter() .find_map(|(key, value)| (key == "token").then(|| value.to_string())) }) - .ok_or_else(|| "Auth callback did not include API key".to_string())?; + .ok_or_else(|| "Auth callback did not include an auth token".to_string())?; let callback_api_url = params .iter() .find_map(|(key, value)| (key == "apiUrl").then(|| value.to_string())) @@ -706,7 +702,7 @@ fn complete_browser_auth(parsed: url::Url) -> Result<(), String> { }); store_token_with_api_url( - api_key, + auth_token, callback_api_url.or_else(|| Some(browser_auth_api_url())), ) } diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 22b944a7..9ab3a66e 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -29,11 +29,6 @@ fn app_info() -> AppInfo { } } -#[tauri::command] -fn auth_store_token(token: String) -> Result<(), String> { - auth::store_token(token) -} - #[tauri::command] fn auth_get_token() -> Result, String> { auth::get_token() @@ -224,7 +219,6 @@ pub fn run() { }) .invoke_handler(tauri::generate_handler![ app_info, - auth_store_token, auth_get_token, auth_clear, auth_begin_browser,