Add libauth.ts for centralised authentication
This commit is contained in:
parent
73dd219394
commit
55831164ed
60
src/lib/libauth.ts
Normal file
60
src/lib/libauth.ts
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
import { uuid } from "./stores/uuid"
|
||||||
|
|
||||||
|
export interface libauthResponse {
|
||||||
|
uuidPresent?: boolean;
|
||||||
|
serverAuthCheck?: boolean;
|
||||||
|
uuidValue?: string;
|
||||||
|
serverAuthCheckResponseCode?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function checkAuth(): Promise<libauthResponse> {
|
||||||
|
let result: libauthResponse = {};
|
||||||
|
const uuidCheck = await checkUuid();
|
||||||
|
result.uuidPresent = uuidCheck.uuidPresent;
|
||||||
|
result.uuidValue = uuidCheck.uuidValue;
|
||||||
|
|
||||||
|
const serverCheck = await checkServerAuth();
|
||||||
|
result.serverAuthCheck = serverCheck.authOk;
|
||||||
|
result.serverAuthCheckResponseCode = serverCheck.status;
|
||||||
|
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function checkUuid() {
|
||||||
|
let uuid_value: string = '';
|
||||||
|
uuid.subscribe((value => uuid_value = value))
|
||||||
|
console.log("uuid-value is: ", uuid_value)
|
||||||
|
if (uuid_value && uuid_value != 'null') {
|
||||||
|
return {
|
||||||
|
uuidPresent: true,
|
||||||
|
uuidValue: uuid_value,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
uuidPresent: false,
|
||||||
|
uuidValue: '',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function checkServerAuth() {
|
||||||
|
let uuid_value: string = '';
|
||||||
|
uuid.subscribe((value => uuid_value = value))
|
||||||
|
const url = "https://owlboard.info/api/v2/auth/check"
|
||||||
|
const options = {
|
||||||
|
method: 'GET',
|
||||||
|
headers: {
|
||||||
|
uuid: uuid_value,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const res = await fetch(url, options)
|
||||||
|
let ok: boolean;
|
||||||
|
if (res.status === 200) {
|
||||||
|
ok = true;
|
||||||
|
} else {
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
authOk: ok,
|
||||||
|
status: res.status,
|
||||||
|
}
|
||||||
|
}
|
@ -4,6 +4,7 @@
|
|||||||
import Loading from '$lib/navigation/loading.svelte';
|
import Loading from '$lib/navigation/loading.svelte';
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
import { uuid } from '$lib/stores/uuid.js';
|
import { uuid } from '$lib/stores/uuid.js';
|
||||||
|
import { checkAuth } from '$lib/libauth';
|
||||||
|
|
||||||
const title = 'Register';
|
const title = 'Register';
|
||||||
|
|
||||||
@ -38,17 +39,14 @@
|
|||||||
isLoading = false;
|
isLoading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$: {
|
onMount(async () => {
|
||||||
if ($uuid != 'null') {
|
const auth = await checkAuth();
|
||||||
state = 'reg'
|
if (auth.uuidPresent === false) {
|
||||||
} else state = 'unreg'
|
state = 'unreg';
|
||||||
}
|
} else if (auth.uuidPresent === true) {
|
||||||
|
|
||||||
/* onMount(async () => {
|
|
||||||
if ($uuid != 'null') {
|
|
||||||
state = 'reg';
|
state = 'reg';
|
||||||
}
|
}
|
||||||
});*/
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if isLoading}
|
{#if isLoading}
|
||||||
|
Loading…
Reference in New Issue
Block a user