Skip to content

Commit

Permalink
fix: add toggle for totp
Browse files Browse the repository at this point in the history
  • Loading branch information
Vilsol committed Jan 27, 2025
1 parent 8f9cf41 commit f718931
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 15 deletions.
3 changes: 3 additions & 0 deletions cfg/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -427,5 +427,8 @@
"seed_data": {
"users": "./data/seed_data/seed-accounts.json",
"roles": "./data/seed_data/seed-roles.json"
},
"totp": {
"enabled": true
}
}
32 changes: 17 additions & 15 deletions src/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2337,21 +2337,23 @@ export class UserService extends ServiceBase<UserListResponse, UserList> impleme
}
}

if (user.totp_secret) {
const totp_session_token = new jose.UnsecuredJWT({})
.setIssuedAt()
.setExpirationTime((Date.now() / 1000) + (60 * 10)) // 10 Minute expiry
.encode();

user.totp_session_tokens = [
...(user.totp_session_tokens || []).filter(t => jose.decodeJwt(t).exp > (Date.now() / 1000)),
totp_session_token
];
await super.update(UserList.fromPartial({
items: [user]
}), context);

return { totp_session_token, status: { code: 200, message: 'success' } };
if (this.cfg.get('totp:enabled')) {
if (user.totp_secret) {
const totp_session_token = new jose.UnsecuredJWT({})
.setIssuedAt()
.setExpirationTime((Date.now() / 1000) + (60 * 10)) // 10 Minute expiry
.encode();

user.totp_session_tokens = [
...(user.totp_session_tokens || []).filter(t => jose.decodeJwt(t).exp > (Date.now() / 1000)),
totp_session_token
];
await super.update(UserList.fromPartial({
items: [user]
}), context);

return { totp_session_token, status: { code: 200, message: 'success' } };
}
}

return { payload: user, status: { code: 200, message: 'success' } };
Expand Down
3 changes: 3 additions & 0 deletions test/cfg/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -382,5 +382,8 @@
"seed_data": {
"users": "./data/seed_data/seed-accounts.json",
"roles": "./data/seed_data/seed-roles.json"
},
"totp": {
"enabled": true
}
}

0 comments on commit f718931

Please sign in to comment.