Two factor authentication

This commit is contained in:
Liesbeth ter Schure
2024-08-22 09:56:48 +02:00
parent ad37ca50f2
commit e35926b594
21 changed files with 628 additions and 65 deletions
+11 -3
View File
@@ -53,6 +53,7 @@ ls.initGebruikersModel = function(){
this.tussenvoegsel = ko.observable(p.tussenvoegsel);
this.achternaam = ko.observable(p.achternaam );
this.email = ko.observable(p.email ) ;
this.twofactor = ko.observable(p.twofactor)
if (p.gnaam){
this.gnaam = ko.observable(p.gnaam);
}
@@ -72,6 +73,7 @@ ls.initGebruikersModel = function(){
this.tussenvoegsel = ko.observable('');
this.achternaam = ko.observable('');
this.email = ko.observable('') ;
this.twofactor = ko.observable("EMAIL")
this.gnaam = ko.observable('');
this.autorisatienivoid = ko.observable(0);
this.autorisatienaam = ko.observable('');
@@ -177,6 +179,8 @@ ls.initGebruikersModel = function(){
self.selectedUser(new fMaakEmptyUser());
// hier ipv 0 het laagst mogelijke recht?
self.selectedUser().autorisatienivoid(self.autorisatieopties()[0].id);
self.selectedUser().twofactor('EMAIL')
self.titel().title("Nieuwe gebruiker");
self.titel().status(1);
self.focusop(1);
@@ -192,6 +196,7 @@ ls.initGebruikersModel = function(){
self.selectedUser().tussenvoegsel(this.tussenvoegsel());
self.selectedUser().achternaam(this.achternaam());
self.selectedUser().email(this.email());
self.selectedUser().twofactor(this.twofactor());
self.selectedUser().autorisatienivoid(this.autorisatienivoid());
self.titel().title("Wijzig gebruikergegevens");
@@ -200,6 +205,7 @@ ls.initGebruikersModel = function(){
self.focusop(1);
$("#modEditUser").modal("show");
},
fDelete: function(){
var self=ls.GebruikersModel;
var that = this;
@@ -248,11 +254,12 @@ ls.initGebruikersModel = function(){
voornaam : self.selectedUser().voornaam(),
tussenvoegsel : self.selectedUser().tussenvoegsel(),
achternaam : self.selectedUser().achternaam(),
email : self.selectedUser().email(),
email : self.selectedUser().email(),
twofactor : self.selectedUser().twofactor(),
gnaam : self.selectedUser().gnaam(),
autorisatienivoid : self.selectedUser().autorisatienivoid(),
status : self.titel().status()} ;
// controleer e-mail
// controleer e-mail
if (!checkEmail(self.selectedUser().email()) ){
apprise("Het e-mailadres is niet correct.");
self.focusop(1);
@@ -285,11 +292,12 @@ ls.initGebruikersModel = function(){
if (result) {
// hier nog alle waarden (terug)zetten.
self.selectedUserOld().actief(result.user.OUactief);
self.selectedUserOld().actief(result.user.OUactief);
self.selectedUserOld().voornaam(result.user.voornaam);
self.selectedUserOld().tussenvoegsel(result.user.tussenvoegsel);
self.selectedUserOld().achternaam(result.user.achternaam);
self.selectedUserOld().email(result.user.email);
self.selectedUserOld().twofactor(result.user.twofactor);
self.selectedUserOld().gnaam(result.user.gnaam);
self.selectedUserOld().autorisatienivoid(result.user.nivo_id);
self.selectedUserOld().autorisatienaam(result.user.autorisatienaam);
+17 -1
View File
@@ -75,6 +75,8 @@ ls.initMenuModel = function(){
newwachtwoord1 : ko.observable(''),
newwachtwoord2 : ko.observable(''),
zout : ko.observable(),
twofactor : ko.observable("EMAIL"),
googleAuthenticatorUrl: ko.observable(),
zoekstring : ko.observable(''),
alleorganisaties : ko.observableArray([]),
handleidingen : ko.observableArray([]),
@@ -384,6 +386,7 @@ ls.initMenuModel = function(){
self.newtussenvoegsel(data.tussenvoegsel);
self.newachternaam(data.achternaam);
self.newemail(data.email);
self.twofactor(data.twofactor)
self.zout(data.zout);
$("#modUserdetails").modal("show");
}
@@ -411,7 +414,8 @@ ls.initMenuModel = function(){
tussenvoegsel: self.newtussenvoegsel(),
achternaam: self.newachternaam(),
email : self.newemail,
wachtwoord: saltedChallenge};
wachtwoord: saltedChallenge,
twofactor : self.twofactor()};
$.post("index.php/shared/users/updateuser", submitData,function(result){
if (result){
self.user(result);
@@ -459,7 +463,19 @@ ls.initMenuModel = function(){
submitURL = "index.php/shared/menu/downloadhandleiding/" + this.id;
window.open(submitURL);
$("#modDocumenten").modal("hide");
},
fInitializeGoogle: function(){
let vm = ls.MenuModel
if (vm.twofactor == "GOOGLE") return
$.getJSON( 'index.php/Login/maakGoogleSecret', function ( data ) {
vm.googleAuthenticatorUrl( data.url );
$( "#authenticatorQR" ).modal( 'show' );
return true;
} )
return true
}
} ; // definition van model
ls.MenuModel.initModel();
ko.applyBindings(ls.MenuModel, document.getElementById("menubalk"));