Skip to content

Commit

Permalink
Merge pull request #49007 from nextcloud/backport/48992/stable28
Browse files Browse the repository at this point in the history
[stable28] fix: add PasswordConfirmationRequired to saveGlobalCredentials
  • Loading branch information
yemkareems authored Oct 30, 2024
2 parents c1febd3 + c481f20 commit 1796b82
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 12 deletions.
27 changes: 17 additions & 10 deletions apps/files_external/js/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -1492,30 +1492,37 @@ window.addEventListener('DOMContentLoaded', function() {
}
});

$('#global_credentials').on('submit', function() {
var $form = $(this);
function _submitCredentials(success) {
var uid = $form.find('[name=uid]').val();
var user = $form.find('[name=username]').val();
var password = $form.find('[name=password]').val();
var $submit = $form.find('[type=submit]');
$submit.val(t('files_external', 'Saving …'));
$.ajax({
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({
uid: uid,
user: user,
password: password
uid,
user,
password,
}),
url: OC.generateUrl('apps/files_external/globalcredentials'),
dataType: 'json',
success: function() {
success,
});
}

$('#global_credentials').on('submit', function() {
var $form = $(this);
var $submit = $form.find('[type=submit]');
$submit.val(t('files_external', 'Saving …'));

window.OC.PasswordConfirmation
.requirePasswordConfirmation(() => _submitCredentials(function() {
$submit.val(t('files_external', 'Saved'));
setTimeout(function(){
$submit.val(t('files_external', 'Save'));
}, 2500);
}
});
}));

return false;
});

Expand Down
6 changes: 4 additions & 2 deletions apps/files_external/lib/Controller/AjaxController.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
use OCA\Files_External\Lib\Auth\Password\GlobalAuth;
use OCA\Files_External\Lib\Auth\PublicKey\RSA;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\Attribute\NoAdminRequired;
use OCP\AppFramework\Http\Attribute\PasswordConfirmationRequired;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IGroupManager;
use OCP\IRequest;
Expand Down Expand Up @@ -97,13 +99,13 @@ public function getSshKeys($keyLength = 1024) {
}

/**
* @NoAdminRequired
*
* @param string $uid
* @param string $user
* @param string $password
* @return bool
*/
#[NoAdminRequired]
#[PasswordConfirmationRequired]
public function saveGlobalCredentials($uid, $user, $password) {
$currentUser = $this->userSession->getUser();
if ($currentUser === null) {
Expand Down

0 comments on commit 1796b82

Please sign in to comment.