#190 : Cookie domain improvement

This commit is contained in:
Dennis Postma 2024-10-30 07:17:07 +01:00
parent 7c259f455c
commit 08f55c9680
3 changed files with 21 additions and 6 deletions

View File

@ -1,6 +1,7 @@
import axios from 'axios'
import config from '@/config'
import { useCookies } from '@vueuse/integrations/useCookies'
import { getDomain } from '@/utilities'
export async function register(username: string, email: string, password: string) {
try {
@ -16,9 +17,7 @@ export async function login(username: string, password: string) {
try {
const response = await axios.post(`${config.server_endpoint}/login`, { username, password })
useCookies().set('token', response.data.token as string, {
// for whole domain
// @TODO : #190
// domain: window.location.hostname.split('.').slice(-2).join('.')
domain: getDomain()
})
return { success: true, token: response.data.token }
} catch (error: any) {

View File

@ -105,9 +105,7 @@ export const useGameStore = defineStore('game', {
this.connection?.disconnect()
useCookies().remove('token', {
// for whole domain
// @TODO : #190
// domain: window.location.hostname.split('.').slice(-2).join('.')
domain: getDomain()
})
this.isAssetsLoaded = false

View File

@ -5,3 +5,21 @@ export function uuidv4() {
export function unduplicateArray(array: any[]) {
return [...new Set(array.flat())]
}
export function getDomain() {
// Check if not localhost
if (window.location.hostname !== 'localhost') {
return window.location.hostname
}
// Check if not IP address
if (window.location.hostname.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/)) {
return window.location.hostname
}
if (window.location.hostname.split('.').length < 3) {
return window.location.hostname
}
return window.location.hostname.split('.').slice(-2).join('.')
}