summary refs log tree commit diff
path: root/src/api/util/handlers
diff options
context:
space:
mode:
authorMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-12-17 19:41:49 +1100
committerMadeline <46743919+MaddyUnderStars@users.noreply.github.com>2022-12-17 19:41:49 +1100
commit9e1b6a675bbff83622821951340455265ff28d9c (patch)
tree950a94a36329a634b8c48d3adb0e34764fccde96 /src/api/util/handlers
parentUse staging's GLOBAL_ENV (diff)
downloadserver-9e1b6a675bbff83622821951340455265ff28d9c.tar.xz
Remove Discord oauth login support
Diffstat (limited to 'src/api/util/handlers')
-rw-r--r--src/api/util/handlers/Oauth.ts83
1 files changed, 0 insertions, 83 deletions
diff --git a/src/api/util/handlers/Oauth.ts b/src/api/util/handlers/Oauth.ts
deleted file mode 100644
index cc662161..00000000
--- a/src/api/util/handlers/Oauth.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-// TODO: Puyo's connections PR would replace this file
-
-import { Config } from "@fosscord/util";
-import fetch from "node-fetch";
-
-export interface OauthAccessToken {
-	access_token: string;
-	token_type: string;
-	expires_in: string;
-	refresh_token: string;
-	scope: string;
-};
-
-export interface OauthUserDetails {
-	id: string;
-	email: string;
-	username: string;
-	avatar_url: string | null;
-}
-
-interface Connection {
-	getAccessToken: (code: string) => Promise<OauthAccessToken>;
-	getUserDetals: (token: string) => Promise<OauthUserDetails>;
-}
-
-const DiscordConnection: Connection = {
-	getAccessToken: async (code) => {
-		const { external } = Config.get();
-		const { discord } = external;
-
-		if (!discord.id || !discord.secret || !discord.redirect)
-			throw new Error("Discord Oauth has not been configured.")
-
-		const body = new URLSearchParams(
-			Object.entries({
-				client_id: discord.id as string,
-				client_secret: discord.secret as string,
-				redirect_uri: discord.redirect as string,
-				code: code as string,
-				grant_type: "authorization_code",
-			})
-		).toString();
-
-		const resp = await fetch("https://discord.com/api/oauth2/token", {
-			method: "POST",
-			headers: {
-				"Content-Type": "application/x-www-form-urlencoded",
-			},
-			body: body,
-		});
-		if (resp.status !== 200) throw new Error(`Failed to get access token.`,);
-
-		const json = await resp.json();
-
-		return json;
-	},
-
-	getUserDetals: async (token) => {
-		const resp = await fetch("https://discord.com/api/users/@me", {
-			headers: {
-				Authorization: `Bearer ${token}`
-			},
-		});
-
-		const json = await resp.json();
-		if (!json.username || !json.email) throw new Error("Failed to get user details via oauth");
-
-		return {
-			id: json.id,
-			email: json.email,
-			username: json.username,
-			avatar_url: json.avatar
-				? `https://cdn.discordapp.com/avatars/${json.id}/${json.avatar}?size=2048`
-				: null,
-		};
-	}
-};
-
-const OauthCallbackHandlers: { [key: string]: Connection; } = {
-	discord: DiscordConnection
-};
-
-export { OauthCallbackHandlers };
\ No newline at end of file