fix(auth): 支持通过环境变量配置认证地址
This commit is contained in:
parent
da3fad3b44
commit
c4e9a6466e
@ -6,11 +6,13 @@ describe('Auth Store', () => {
|
|||||||
setActivePinia(createPinia())
|
setActivePinia(createPinia())
|
||||||
localStorage.clear()
|
localStorage.clear()
|
||||||
vi.clearAllMocks()
|
vi.clearAllMocks()
|
||||||
|
vi.unstubAllEnvs()
|
||||||
window.history.replaceState({}, '', '/')
|
window.history.replaceState({}, '', '/')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('prefers URL token and validates it even in dev mode', async () => {
|
it('prefers URL token and validates it against the env-based auth url even in dev mode', async () => {
|
||||||
window.history.replaceState({}, '', '/?token=url-token')
|
window.history.replaceState({}, '', '/?token=url-token')
|
||||||
|
vi.stubEnv('VITE_AUTH_BASE_URL', 'https://sxwz.xueai.art')
|
||||||
|
|
||||||
const fetchMock = vi.mocked(fetch)
|
const fetchMock = vi.mocked(fetch)
|
||||||
fetchMock.mockResolvedValueOnce({
|
fetchMock.mockResolvedValueOnce({
|
||||||
@ -38,7 +40,7 @@ describe('Auth Store', () => {
|
|||||||
|
|
||||||
expect(fetchMock).toHaveBeenCalledTimes(1)
|
expect(fetchMock).toHaveBeenCalledTimes(1)
|
||||||
expect(fetchMock).toHaveBeenCalledWith(
|
expect(fetchMock).toHaveBeenCalledWith(
|
||||||
'/api/auth/login/validateToken',
|
'https://sxwz.xueai.art/newapi/api/login/validateToken',
|
||||||
{
|
{
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
|
|||||||
8
src/env.d.ts
vendored
8
src/env.d.ts
vendored
@ -1 +1,9 @@
|
|||||||
/// <reference types="vite/client" />
|
/// <reference types="vite/client" />
|
||||||
|
|
||||||
|
interface ImportMetaEnv {
|
||||||
|
readonly VITE_AUTH_BASE_URL?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ImportMeta {
|
||||||
|
readonly env: ImportMetaEnv
|
||||||
|
}
|
||||||
|
|||||||
@ -33,9 +33,10 @@ interface AuthResponse {
|
|||||||
[key: string]: unknown;
|
[key: string]: unknown;
|
||||||
} | null;
|
} | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 认证接口
|
// 认证接口
|
||||||
const AUTH_CHECK_URL = '/newapi/api/login/validateToken';
|
const AUTH_BASE_URL = (import.meta.env.VITE_AUTH_BASE_URL || '').replace(/\/$/, '');
|
||||||
|
const AUTH_CHECK_URL = `${AUTH_BASE_URL}/newapi/api/login/validateToken`;
|
||||||
const AUTH_TOKEN_STORAGE_KEY = 'DEV_DEFAULT_TOKEN';
|
const AUTH_TOKEN_STORAGE_KEY = 'DEV_DEFAULT_TOKEN';
|
||||||
|
|
||||||
export const useAuthStore = defineStore('auth', () => {
|
export const useAuthStore = defineStore('auth', () => {
|
||||||
|
|||||||
@ -22,7 +22,7 @@ export default defineConfig({
|
|||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
"/newapi/api": {
|
"/newapi/api": {
|
||||||
target: "http://test.xueai.art",
|
target: "https://sxwz.xueai.art",
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user