summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/auth/accept.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/auth/accept.ts')
-rw-r--r--src/server/api/endpoints/auth/accept.ts76
1 files changed, 0 insertions, 76 deletions
diff --git a/src/server/api/endpoints/auth/accept.ts b/src/server/api/endpoints/auth/accept.ts
deleted file mode 100644
index 1d1d8ac227..0000000000
--- a/src/server/api/endpoints/auth/accept.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import * as crypto from 'crypto';
-import $ from 'cafy';
-import define from '../../define';
-import { ApiError } from '../../error';
-import { AuthSessions, AccessTokens, Apps } from '@/models/index';
-import { genId } from '@/misc/gen-id';
-import { secureRndstr } from '@/misc/secure-rndstr';
-
-export const meta = {
- tags: ['auth'],
-
- requireCredential: true as const,
-
- secure: true,
-
- params: {
- token: {
- validator: $.str
- }
- },
-
- errors: {
- noSuchSession: {
- message: 'No such session.',
- code: 'NO_SUCH_SESSION',
- id: '9c72d8de-391a-43c1-9d06-08d29efde8df'
- },
- }
-};
-
-export default define(meta, async (ps, user) => {
- // Fetch token
- const session = await AuthSessions
- .findOne({ token: ps.token });
-
- if (session == null) {
- throw new ApiError(meta.errors.noSuchSession);
- }
-
- // Generate access token
- const accessToken = secureRndstr(32, true);
-
- // Fetch exist access token
- const exist = await AccessTokens.findOne({
- appId: session.appId,
- userId: user.id,
- });
-
- if (exist == null) {
- // Lookup app
- const app = await Apps.findOneOrFail(session.appId);
-
- // Generate Hash
- const sha256 = crypto.createHash('sha256');
- sha256.update(accessToken + app.secret);
- const hash = sha256.digest('hex');
-
- const now = new Date();
-
- // Insert access token doc
- await AccessTokens.insert({
- id: genId(),
- createdAt: now,
- lastUsedAt: now,
- appId: session.appId,
- userId: user.id,
- token: accessToken,
- hash: hash
- });
- }
-
- // Update session
- await AuthSessions.update(session.id, {
- userId: user.id
- });
-});