upd: add multipart support to oauth/token
This commit is contained in:
parent
6ca27b48cf
commit
2fae63fe15
1 changed files with 12 additions and 3 deletions
|
@ -10,6 +10,7 @@ import { v4 as uuid } from 'uuid';
|
||||||
/* import { kinds } from '@/misc/api-permissions.js';
|
/* import { kinds } from '@/misc/api-permissions.js';
|
||||||
import type { Config } from '@/config.js';
|
import type { Config } from '@/config.js';
|
||||||
import { DI } from '@/di-symbols.js'; */
|
import { DI } from '@/di-symbols.js'; */
|
||||||
|
import multer from 'fastify-multer';
|
||||||
import { bindThis } from '@/decorators.js';
|
import { bindThis } from '@/decorators.js';
|
||||||
import type { FastifyInstance } from 'fastify';
|
import type { FastifyInstance } from 'fastify';
|
||||||
|
|
||||||
|
@ -24,8 +25,8 @@ function getClient(BASE_URL: string, authorization: string | undefined): Megalod
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class OAuth2ProviderService {
|
export class OAuth2ProviderService {
|
||||||
constructor(
|
constructor(
|
||||||
/* @Inject(DI.config)
|
@Inject(DI.config)
|
||||||
private config: Config, */
|
private config: Config,
|
||||||
) { }
|
) { }
|
||||||
|
|
||||||
@bindThis
|
@bindThis
|
||||||
|
@ -46,6 +47,14 @@ export class OAuth2ProviderService {
|
||||||
});
|
});
|
||||||
}); */
|
}); */
|
||||||
|
|
||||||
|
const upload = multer({
|
||||||
|
storage: multer.diskStorage({}),
|
||||||
|
limits: {
|
||||||
|
fileSize: this.config.maxFileSize || 262144000,
|
||||||
|
files: 1,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
fastify.addHook('onRequest', (request, reply, done) => {
|
fastify.addHook('onRequest', (request, reply, done) => {
|
||||||
reply.header('Access-Control-Allow-Origin', '*');
|
reply.header('Access-Control-Allow-Origin', '*');
|
||||||
done();
|
done();
|
||||||
|
@ -89,7 +98,7 @@ export class OAuth2ProviderService {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
fastify.post('/oauth/token', async (request, reply) => {
|
fastify.post('/oauth/token', { preHandler: upload.none() }, 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") {
|
||||||
const ret = {
|
const ret = {
|
||||||
|
|
Loading…
Reference in a new issue