mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-14 13:49:18 +02:00
Desktop Google login flow: click "Continue with Google" → opens default browser to web login page with platform=desktop → Google OAuth completes → web callback redirects to multica://auth/callback?token=<jwt> → Electron receives deep link, extracts token, completes login. Changes: - Register `multica://` protocol in Electron (main process + builder) - Add single-instance lock with deep link forwarding (macOS + Win/Linux) - Expose `desktopAPI.onAuthToken` and `openExternal` via preload IPC - Add `loginWithToken(token)` to core auth store - Pass `state=platform:desktop` through Google OAuth flow - Web callback detects desktop state and redirects via deep link - Desktop renderer listens for auth token and hydrates session
36 lines
799 B
YAML
36 lines
799 B
YAML
appId: ai.multica.desktop
|
|
productName: Multica
|
|
directories:
|
|
buildResources: build
|
|
files:
|
|
- "!**/.vscode/*"
|
|
- "!src/*"
|
|
- "!electron.vite.config.*"
|
|
- "!{.eslintignore,.eslintrc.cjs,.prettierignore,.prettierrc.yaml,dev-app-update.yml,CHANGELOG.md,README.md}"
|
|
- "!{tsconfig.json,tsconfig.node.json,tsconfig.web.json}"
|
|
protocols:
|
|
- name: Multica
|
|
schemes:
|
|
- multica
|
|
asarUnpack:
|
|
- resources/**
|
|
mac:
|
|
entitlementsInherit: build/entitlements.mac.plist
|
|
target:
|
|
- dmg
|
|
- zip
|
|
artifactName: ${name}-${version}-${arch}.${ext}
|
|
notarize: false
|
|
dmg:
|
|
artifactName: ${name}-${version}.${ext}
|
|
linux:
|
|
target:
|
|
- AppImage
|
|
- deb
|
|
artifactName: ${name}-${version}-${arch}.${ext}
|
|
win:
|
|
target:
|
|
- nsis
|
|
artifactName: ${name}-${version}-setup.${ext}
|
|
npmRebuild: false
|