summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/backend/src/server/oauth/OAuth2ProviderService.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/backend/src/server/oauth/OAuth2ProviderService.ts b/packages/backend/src/server/oauth/OAuth2ProviderService.ts
index 8cd49d3487..2b0db7855a 100644
--- a/packages/backend/src/server/oauth/OAuth2ProviderService.ts
+++ b/packages/backend/src/server/oauth/OAuth2ProviderService.ts
@@ -67,6 +67,17 @@ export class OAuth2ProviderService {
payload.on('error', done);
});
+ 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") {