|
|
@@ -5,6 +5,8 @@ const OneTimeTokenHandler = require('../Security/OneTimeTokenHandler')
|
|
|
const EmailHandler = require('../Email/EmailHandler')
|
|
|
const AuthenticationManager = require('../Authentication/AuthenticationManager')
|
|
|
const { callbackify, promisify } = require('util')
|
|
|
+const { checkUserPermissions } =
|
|
|
+ require('../Authorization/PermissionsManager').promises
|
|
|
|
|
|
const AUDIT_LOG_TOKEN_PREFIX_LENGTH = 10
|
|
|
|
|
|
@@ -19,6 +21,8 @@ async function generateAndEmailResetToken(email) {
|
|
|
return 'secondary'
|
|
|
}
|
|
|
|
|
|
+ await checkUserPermissions(user, ['change-password'])
|
|
|
+
|
|
|
const data = { user_id: user._id.toString(), email }
|
|
|
const token = await OneTimeTokenHandler.promises.getNewToken('password', data)
|
|
|
|