Don't fetch for user if in dev with a local engine (#368)
* Don't fetch for user if in dev with a local engine But rather return a dummy user (created by @paultag) so that teammates using locally-running engines can bypass auth. Signed-off-by: Frank Noirot <frank@kittycad.io> * Use env var to be more explicit --------- Signed-off-by: Frank Noirot <frank@kittycad.io>
This commit is contained in:
@ -1,6 +1,7 @@
|
|||||||
VITE_KC_API_WS_MODELING_URL=wss://api.dev.kittycad.io/ws/modeling/commands
|
VITE_KC_API_WS_MODELING_URL=wss://api.dev.kittycad.io/ws/modeling/commands
|
||||||
VITE_KC_API_BASE_URL=https://api.dev.kittycad.io
|
VITE_KC_API_BASE_URL=https://api.dev.kittycad.io
|
||||||
VITE_KC_SITE_BASE_URL=https://dev.kittycad.io
|
VITE_KC_SITE_BASE_URL=https://dev.kittycad.io
|
||||||
|
VITE_KC_SKIP_AUTH=false
|
||||||
VITE_KC_CONNECTION_TIMEOUT_MS=5000
|
VITE_KC_CONNECTION_TIMEOUT_MS=5000
|
||||||
VITE_KC_CONNECTION_WEBRTC_REPORT_STATS_MS=0
|
VITE_KC_CONNECTION_WEBRTC_REPORT_STATS_MS=0
|
||||||
VITE_KC_SENTRY_DSN=
|
VITE_KC_SENTRY_DSN=
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
VITE_KC_API_WS_MODELING_URL=wss://api.kittycad.io/ws/modeling/commands
|
VITE_KC_API_WS_MODELING_URL=wss://api.kittycad.io/ws/modeling/commands
|
||||||
VITE_KC_API_BASE_URL=https://api.kittycad.io
|
VITE_KC_API_BASE_URL=https://api.kittycad.io
|
||||||
VITE_KC_SITE_BASE_URL=https://kittycad.io
|
VITE_KC_SITE_BASE_URL=https://kittycad.io
|
||||||
|
VITE_KC_SKIP_AUTH=false
|
||||||
VITE_KC_CONNECTION_TIMEOUT_MS=15000
|
VITE_KC_CONNECTION_TIMEOUT_MS=15000
|
||||||
VITE_KC_CONNECTION_WEBRTC_REPORT_STATS_MS=30000
|
VITE_KC_CONNECTION_WEBRTC_REPORT_STATS_MS=30000
|
||||||
VITE_KC_SENTRY_DSN=https://a814f2f66734989a90367f48feee28ca@o1042111.ingest.sentry.io/4505789425844224
|
VITE_KC_SENTRY_DSN=https://a814f2f66734989a90367f48feee28ca@o1042111.ingest.sentry.io/4505789425844224
|
||||||
|
@ -3,6 +3,23 @@ import { Models } from '@kittycad/lib'
|
|||||||
import withBaseURL from '../lib/withBaseURL'
|
import withBaseURL from '../lib/withBaseURL'
|
||||||
import { CommandBarMeta } from '../lib/commands'
|
import { CommandBarMeta } from '../lib/commands'
|
||||||
|
|
||||||
|
const SKIP_AUTH =
|
||||||
|
import.meta.env.VITE_KC_SKIP_AUTH === 'true' && import.meta.env.DEV
|
||||||
|
const LOCAL_USER: Models['User_type'] = {
|
||||||
|
id: '8675309',
|
||||||
|
name: 'Test User',
|
||||||
|
email: 'kittycad.sidebar.test@example.com',
|
||||||
|
image: 'https://placekitten.com/200/200',
|
||||||
|
created_at: 'yesteryear',
|
||||||
|
updated_at: 'today',
|
||||||
|
company: 'Test Company',
|
||||||
|
discord: 'Test User#1234',
|
||||||
|
github: 'testuser',
|
||||||
|
phone: '555-555-5555',
|
||||||
|
first_name: 'Test',
|
||||||
|
last_name: 'User',
|
||||||
|
}
|
||||||
|
|
||||||
export interface UserContext {
|
export interface UserContext {
|
||||||
user?: Models['User_type']
|
user?: Models['User_type']
|
||||||
token?: string
|
token?: string
|
||||||
@ -81,7 +98,9 @@ export const authMachine = createMachine<UserContext, Events>(
|
|||||||
schema: { events: {} as { type: 'Log out' } | { type: 'Log in' } },
|
schema: { events: {} as { type: 'Log out' } | { type: 'Log in' } },
|
||||||
predictableActionArguments: true,
|
predictableActionArguments: true,
|
||||||
preserveActionOrder: true,
|
preserveActionOrder: true,
|
||||||
context: { token: persistedToken },
|
context: {
|
||||||
|
token: persistedToken,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
actions: {},
|
actions: {},
|
||||||
@ -98,6 +117,7 @@ async function getUser(context: UserContext) {
|
|||||||
}
|
}
|
||||||
if (!context.token && '__TAURI__' in window) throw 'not log in'
|
if (!context.token && '__TAURI__' in window) throw 'not log in'
|
||||||
if (context.token) headers['Authorization'] = `Bearer ${context.token}`
|
if (context.token) headers['Authorization'] = `Bearer ${context.token}`
|
||||||
|
if (SKIP_AUTH) return LOCAL_USER
|
||||||
try {
|
try {
|
||||||
const response = await fetch(url, {
|
const response = await fetch(url, {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
|
Reference in New Issue
Block a user