aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Utility/oauth.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Utility/oauth.ts')
-rw-r--r--src/lib/Utility/oauth.ts74
1 files changed, 37 insertions, 37 deletions
diff --git a/src/lib/Utility/oauth.ts b/src/lib/Utility/oauth.ts
index bc71db5e..78f52bfa 100644
--- a/src/lib/Utility/oauth.ts
+++ b/src/lib/Utility/oauth.ts
@@ -1,51 +1,51 @@
import { redirect, type Cookies } from '@sveltejs/kit';
export interface ClientOptions {
- id: string;
- secret: string;
- redirectURI: string;
+ id: string;
+ secret: string;
+ redirectURI: string;
}
export interface CallbackOptions {
- url: URL;
- cookies: Cookies;
- cookie: string;
- authorise: string;
- redirect?: string;
- client: ClientOptions;
- verifier?: string;
+ url: URL;
+ cookies: Cookies;
+ cookie: string;
+ authorise: string;
+ redirect?: string;
+ client: ClientOptions;
+ verifier?: string;
}
export const callback = async (options: CallbackOptions) => {
- const { url, cookies, cookie, authorise, client } = options;
- const formData = new FormData();
+ const { url, cookies, cookie, authorise, client } = options;
+ const formData = new FormData();
- formData.append('grant_type', 'authorization_code');
- formData.append('client_id', client.id);
- formData.append('client_secret', client.secret);
- formData.append('redirect_uri', client.redirectURI);
- formData.append('code', url.searchParams.get('code') || 'null');
+ formData.append('grant_type', 'authorization_code');
+ formData.append('client_id', client.id);
+ formData.append('client_secret', client.secret);
+ formData.append('redirect_uri', client.redirectURI);
+ formData.append('code', url.searchParams.get('code') || 'null');
- if (options.verifier) formData.append('code_verifier', options.verifier);
+ if (options.verifier) formData.append('code_verifier', options.verifier);
- cookies.set(
- cookie,
- JSON.stringify(
- await (
- await fetch(authorise, {
- method: 'POST',
- body: formData
- })
- ).json()
- ),
- {
- path: '/',
- maxAge: 60 * 60 * 24 * 7,
- httpOnly: false,
- sameSite: 'lax',
- secure: false
- }
- );
+ cookies.set(
+ cookie,
+ JSON.stringify(
+ await (
+ await fetch(authorise, {
+ method: 'POST',
+ body: formData
+ })
+ ).json()
+ ),
+ {
+ path: '/',
+ maxAge: 60 * 60 * 24 * 7,
+ httpOnly: false,
+ sameSite: 'lax',
+ secure: false
+ }
+ );
- throw redirect(303, options.redirect ?? '/');
+ throw redirect(303, options.redirect ?? '/');
};