From 1655e7a0494745f41cb29f24113c5fe92039fd38 Mon Sep 17 00:00:00 2001 From: Salla Karppinen Date: Tue, 20 Jun 2017 09:08:36 +0100 Subject: [PATCH] Added password reset features for test --- lib/api.authentication.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/api.authentication.js b/lib/api.authentication.js index 39bde26..b6ecfca 100644 --- a/lib/api.authentication.js +++ b/lib/api.authentication.js @@ -289,3 +289,29 @@ var shibbolethTenantCallback = module.exports.shibbolethTenantCallback = functio var ldapLogin = module.exports.ldapLogin = function(restCtx, username, password, callback) { RestUtil.RestRequest(restCtx, '/api/auth/ldap', 'POST', {'username': username, 'password': password}, callback); }; + +/** + * Get a secret token to be used to reset password + * + * @param {RestContext} restCtx Standard REST Context object that contains the current tenant URL + * @param {String} username The username for which a password needs to be reset + * @param {Function} callback Standard callback method + * @param {Object} callback.err An error that occurred, if any + */ +var getResetPasswordSecret = module.exports.getResetPasswordSecret = function(restCtx, username, callback) { + RestUtil.RestRequest(restCtx, '/api/auth/local/reset/init/' + username, 'GET', null, callback); +}; + +/** + * Reset a password for a user using a token + * + * @param {RestContext} restCtx Standard REST Context object that contains the current tenant URL + * @param {String} username The username for which a password needs to be reset + * @param {String} secret The token identifying the user trying to reset their password + * @param {String} newPassword The new password to reset + * @param {Function} callback Standard callback method + * @param {Object} callback.err An error that occurred, if any + */ +var resetPassword = module.exports.resetPassword = function(restCtx, username, secret, newPassword, callback) { + RestUtil.RestRequest(restCtx, '/api/auth/local/reset/change/' + username, 'POST', {'secret': secret, 'newPassword': newPassword}, callback); +};