From 885800ee5ed905104098378655603c93c686a2a4 Mon Sep 17 00:00:00 2001
From: Mar0xy <marie@kaifa.ch>
Date: Thu, 9 Nov 2023 15:06:57 +0100
Subject: [PATCH] revert: deletion of oauth.pug

---
 .../backend/src/server/oauth/OAuth2ProviderService.ts | 11 +++++++++++
 packages/backend/src/server/web/views/oauth.pug       |  9 +++++++++
 2 files changed, 20 insertions(+)
 create mode 100644 packages/backend/src/server/web/views/oauth.pug

diff --git a/packages/backend/src/server/oauth/OAuth2ProviderService.ts b/packages/backend/src/server/oauth/OAuth2ProviderService.ts
index 2b0db7855a..63df4217e6 100644
--- a/packages/backend/src/server/oauth/OAuth2ProviderService.ts
+++ b/packages/backend/src/server/oauth/OAuth2ProviderService.ts
@@ -78,6 +78,17 @@ export class OAuth2ProviderService {
 			);
 		});
 
+		fastify.get('/oauth/authorize/', async (request, reply) => {
+			const query: any = request.query;
+			let param = "mastodon=true";
+			if (query.state) param += `&state=${query.state}`;
+			if (query.redirect_uri) param += `&redirect_uri=${query.redirect_uri}`;
+			const client = query.client_id ? query.client_id : "";
+			reply.redirect(
+				`${Buffer.from(client.toString(), 'base64').toString()}?${param}`,
+			);
+		});
+
 		fastify.post('/oauth/token', async (request, reply) => {
 			const body: any = request.body || request.query;
 			if (body.grant_type === "client_credentials") {
diff --git a/packages/backend/src/server/web/views/oauth.pug b/packages/backend/src/server/web/views/oauth.pug
new file mode 100644
index 0000000000..a9580d83e2
--- /dev/null
+++ b/packages/backend/src/server/web/views/oauth.pug
@@ -0,0 +1,9 @@
+extends ./base
+
+block meta
+	//- Should be removed by the page when it loads, so that it won't needlessly
+	//- stay when user navigates away via the navigation bar
+	//- XXX: Remove navigation bar in auth page?
+	meta(name='misskey:oauth:transaction-id' content=transactionId)
+	meta(name='misskey:oauth:client-name' content=clientName)
+	meta(name='misskey:oauth:scope' content=scope)
\ No newline at end of file