mirror of https://github.com/xwiki-labs/cryptpad
Add admin panel option to enforce MFA
This commit is contained in:
parent
542111843a
commit
ac090767ca
|
@ -495,6 +495,7 @@ var instanceStatus = function (Env, Server, cb) {
|
||||||
instanceJurisdiction: Env.instanceJurisdiction,
|
instanceJurisdiction: Env.instanceJurisdiction,
|
||||||
instanceName: Env.instanceName,
|
instanceName: Env.instanceName,
|
||||||
instanceNotice: Env.instanceNotice,
|
instanceNotice: Env.instanceNotice,
|
||||||
|
enforceMFA: Env.enforceMFA,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -107,6 +107,9 @@ var makeBooleanSetter = function (attr) {
|
||||||
// CryptPad_AsyncStore.rpc.send('ADMIN', [ 'ADMIN_DECREE', ['DISABLE_EMBEDDING', [true]]], console.log)
|
// CryptPad_AsyncStore.rpc.send('ADMIN', [ 'ADMIN_DECREE', ['DISABLE_EMBEDDING', [true]]], console.log)
|
||||||
commands.ENABLE_EMBEDDING = makeBooleanSetter('enableEmbedding');
|
commands.ENABLE_EMBEDDING = makeBooleanSetter('enableEmbedding');
|
||||||
|
|
||||||
|
// CryptPad_AsyncStore.rpc.send('ADMIN', [ 'ADMIN_DECREE', ['ENFORCE_MFA', [true]]], console.log)
|
||||||
|
commands.ENFORCE_MFA = makeBooleanSetter('enforceMFA');
|
||||||
|
|
||||||
// CryptPad_AsyncStore.rpc.send('ADMIN', [ 'ADMIN_DECREE', ['RESTRICT_REGISTRATION', [true]]], console.log)
|
// CryptPad_AsyncStore.rpc.send('ADMIN', [ 'ADMIN_DECREE', ['RESTRICT_REGISTRATION', [true]]], console.log)
|
||||||
commands.RESTRICT_REGISTRATION = makeBooleanSetter('restrictRegistration');
|
commands.RESTRICT_REGISTRATION = makeBooleanSetter('restrictRegistration');
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ define([
|
||||||
'cp-admin-update-limit',
|
'cp-admin-update-limit',
|
||||||
'cp-admin-registration',
|
'cp-admin-registration',
|
||||||
'cp-admin-enableembeds',
|
'cp-admin-enableembeds',
|
||||||
|
'cp-admin-forcemfa',
|
||||||
'cp-admin-email',
|
'cp-admin-email',
|
||||||
|
|
||||||
'cp-admin-instance-info-notice',
|
'cp-admin-instance-info-notice',
|
||||||
|
@ -1527,6 +1528,31 @@ Example
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Msg.admin_forcemfaHint, .admin_forcemfaTitle
|
||||||
|
Messages.admin_forcemfaTitle = "Enforce MFA on this instance"; // XXX
|
||||||
|
Messages.admin_forcemfaHint = "All CryptPad users will be asked to set up a multi-factor authenticator (TOTP) to log in to their account."; // XXX
|
||||||
|
create['forcemfa'] = makeAdminCheckbox({
|
||||||
|
key: 'forcemfa',
|
||||||
|
getState: function () {
|
||||||
|
return APP.instanceStatus.enforceMFA;
|
||||||
|
},
|
||||||
|
query: function (val, setState) {
|
||||||
|
sFrameChan.query('Q_ADMIN_RPC', {
|
||||||
|
cmd: 'ADMIN_DECREE',
|
||||||
|
data: ['ENFORCE_MFA', [val]]
|
||||||
|
}, function (e, response) {
|
||||||
|
if (e || response.error) {
|
||||||
|
UI.warn(Messages.error);
|
||||||
|
console.error(e, response);
|
||||||
|
}
|
||||||
|
APP.updateStatus(function () {
|
||||||
|
setState(APP.instanceStatus.enforceMFA);
|
||||||
|
flushCacheNotice();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
create['email'] = function () {
|
create['email'] = function () {
|
||||||
var key = 'email';
|
var key = 'email';
|
||||||
var $div = makeBlock(key, true); // Msg.admin_emailHint, Msg.admin_emailTitle
|
var $div = makeBlock(key, true); // Msg.admin_emailHint, Msg.admin_emailTitle
|
||||||
|
|
Loading…
Reference in New Issue