fix: oauth/authorize not working

This commit is contained in:
Mar0xy 2023-11-08 22:18:28 +01:00
parent 9814fe81b4
commit c5008452c1
No known key found for this signature in database
GPG key ID: 56569BBE47D2C828
2 changed files with 11 additions and 19 deletions

View file

@ -186,6 +186,17 @@ export class ServerService implements OnApplicationShutdown {
} }
}); });
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.get<{ Params: { code: string } }>('/verify-email/:code', async (request, reply) => { fastify.get<{ Params: { code: string } }>('/verify-email/:code', async (request, reply) => {
const profile = await this.userProfilesRepository.findOneBy({ const profile = await this.userProfilesRepository.findOneBy({
emailVerifyCode: request.params.code, emailVerifyCode: request.params.code,

View file

@ -67,25 +67,6 @@ export class OAuth2ProviderService {
payload.on('error', done); 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/decision', async (request, reply) => {
const body: any = request.body;
if (body.cancel) {
reply.send({ user: body.login_token, allow: false });
}
reply.send({ user: body.login_token, allow: true });
});
fastify.post('/oauth/token', async (request, reply) => { fastify.post('/oauth/token', async (request, reply) => {
const body: any = request.body || request.query; const body: any = request.body || request.query;
if (body.grant_type === "client_credentials") { if (body.grant_type === "client_credentials") {