summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/i/2fa/done.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-11-02 12:49:08 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-11-02 12:49:08 +0900
commita7e6b766be6b30b37839beb13f31d96b141cc25a (patch)
treeb6bf96ae808260f0aa94767835d59d25f7f889a7 /src/server/api/endpoints/i/2fa/done.ts
parentUpdate src/server/api/endpoints/meta.ts (diff)
downloadsharkey-a7e6b766be6b30b37839beb13f31d96b141cc25a.tar.gz
sharkey-a7e6b766be6b30b37839beb13f31d96b141cc25a.tar.bz2
sharkey-a7e6b766be6b30b37839beb13f31d96b141cc25a.zip
Resolve #2623
Diffstat (limited to 'src/server/api/endpoints/i/2fa/done.ts')
-rw-r--r--src/server/api/endpoints/i/2fa/done.ts17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/server/api/endpoints/i/2fa/done.ts b/src/server/api/endpoints/i/2fa/done.ts
index 6d38ca1de1..40b45a3d0b 100644
--- a/src/server/api/endpoints/i/2fa/done.ts
+++ b/src/server/api/endpoints/i/2fa/done.ts
@@ -1,18 +1,25 @@
import $ from 'cafy';
import * as speakeasy from 'speakeasy';
import User, { ILocalUser } from '../../../../../models/user';
+import getParams from '../../../get-params';
export const meta = {
requireCredential: true,
- secure: true
+
+ secure: true,
+
+ params: {
+ token: {
+ validator: $.str
+ }
+ }
};
export default async (params: any, user: ILocalUser) => new Promise(async (res, rej) => {
- // Get 'token' parameter
- const [token, tokenErr] = $.str.get(params.token);
- if (tokenErr) return rej('invalid token param');
+ const [ps, psErr] = getParams(meta, params);
+ if (psErr) return rej(psErr);
- const _token = token.replace(/\s/g, '');
+ const _token = ps.token.replace(/\s/g, '');
if (user.twoFactorTempSecret == null) {
return rej('二段階認証の設定が開始されていません');