diff --git a/packages/hydrooj/src/handler/home.ts b/packages/hydrooj/src/handler/home.ts index bda65d655..014935640 100644 --- a/packages/hydrooj/src/handler/home.ts +++ b/packages/hydrooj/src/handler/home.ts @@ -281,7 +281,7 @@ class HomeSecurityHandler extends Handler { } async postDeleteAllTokens() { - await token.delByUid(this.user._id); + await token.delByUid(this.user._id, token.TYPE_SESSION); this.response.redirect = this.url('user_login'); } diff --git a/packages/hydrooj/src/model/token.ts b/packages/hydrooj/src/model/token.ts index d5bef18c2..4f0492a66 100644 --- a/packages/hydrooj/src/model/token.ts +++ b/packages/hydrooj/src/model/token.ts @@ -102,8 +102,10 @@ class TokenModel { } @ArgMethod - static delByUid(uid: number) { - return TokenModel.coll.deleteMany({ uid }); + static delByUid(uid: number, tokenType?: number) { + const filter: Filter = { uid }; + if (tokenType !== undefined) filter.tokenType = tokenType; + return TokenModel.coll.deleteMany(filter); } }