Version Description
- Google Authenticator (2FA) : Updated the error message for 2-factor configuration.
Download this release
Release Info
Developer | cyberlord92 |
Plugin | Google Authenticator – WordPress Two Factor Authentication (2FA) |
Version | 4.4.7 |
Comparing to | |
See all releases |
Code changes from version 4.4.6 to 4.4.7
class-miniorange-2-factor-pass2fa-login.php
CHANGED
@@ -574,6 +574,18 @@ class Miniorange_Password_2Factor_Login{
|
|
574 |
|
575 |
function mo_2_factor_enable_jquery_default_login(){
|
576 |
wp_enqueue_script('jquery');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
577 |
}
|
578 |
|
579 |
|
574 |
|
575 |
function mo_2_factor_enable_jquery_default_login(){
|
576 |
wp_enqueue_script('jquery');
|
577 |
+
|
578 |
+
if(get_option('mo2f_deviceid_enabled')){
|
579 |
+
wp_enqueue_script( 'jquery_script', plugins_url('includes/js/rba/js/jquery-1.9.1.js', __FILE__ ), array(), '', true);
|
580 |
+
wp_enqueue_script( 'flash_script', plugins_url('includes/js/rba/js/jquery.flash.js', __FILE__ ), array(), '', true);
|
581 |
+
wp_enqueue_script( 'uaparser_script', plugins_url('includes/js/rba/js/ua-parser.js', __FILE__ ), array(), '', true);
|
582 |
+
wp_enqueue_script( 'client_script', plugins_url('includes/js/rba/js/client.js', __FILE__ ), array(), '', true);
|
583 |
+
wp_enqueue_script( 'device_script', plugins_url('includes/js/rba/js/device_attributes.js', __FILE__ ), array(), '', true);
|
584 |
+
wp_enqueue_script( 'swf_script', plugins_url('includes/js/rba/js/swfobject.js', __FILE__ ), array(), '', true);
|
585 |
+
wp_enqueue_script( 'font_script', plugins_url('includes/js/rba/js/fontdetect.js', __FILE__ ), array(), '', true);
|
586 |
+
wp_enqueue_script( 'murmur_script', plugins_url('includes/js/rba/js/murmurhash3.js', __FILE__ ), array(), '', true);
|
587 |
+
wp_enqueue_script( 'miniorange_script', plugins_url('includes/js/rba/js/miniorange-fp.js', __FILE__ ), array('swf_script'), '', true);
|
588 |
+
}
|
589 |
}
|
590 |
|
591 |
|
includes/css/bootstrap.min.css
CHANGED
@@ -515,4 +515,4 @@ button.mo2f_close {
|
|
515 |
border-radius: 4px;
|
516 |
padding: 1px 5px;
|
517 |
background: rgba(1, 145, 191, 0.117647);
|
518 |
-
}
|
515 |
border-radius: 4px;
|
516 |
padding: 1px 5px;
|
517 |
background: rgba(1, 145, 191, 0.117647);
|
518 |
+
}
|
includes/js/rba/js/device_attributes.js
CHANGED
@@ -2,9 +2,9 @@ var jsReady=!1;function isReady(){return jsReady}function pageInit(){jsReady=!0;
|
|
2 |
function populateFontList(a){var b=0,c=0,e;for(e in a){var d=a[e],d=d.replace(/^\s\s*/,"").replace(/\s\s*$/,"");d.match(/[_\-\s]Italic$/)||d.match(/[_\-\s](Demi)?[Bb]old$/)||d.match(/[_\-\s]Medium$/)||d.match(/[_\-\s](Ultra)?[Ll]ight$/)||d.match(/[_\-\s]Condensed$/)||(d=d.replace(/\s*Regular$/,""),c++);fontlist=0==b?d:fontlist+(", "+d);b++}checkFontsExist=!0}
|
3 |
function get_browser_attributes(){var a=new ClientJS,b=a.getUserAgent();updateJSONObject("browser.useragent",b);b=a.getScreenPrint();updateJSONObject("browser.screenprint",b);fingerprint=a.getFingerprint();updateJSONObject("device.fingerprint",fingerprint);b=a.getPlugins();updateJSONObject("browser.plugins",b);b=a.isLocalStorage();updateJSONObject("browser.hasLocalStorage",b);b=a.isSessionStorage();updateJSONObject("browser.hasSessionStorage",b);b=a.getTimeZone();updateJSONObject("browser.timezone",
|
4 |
b);b=a.getLanguage();updateJSONObject("browser.language",b);b=a.getSystemLanguage();updateJSONObject("browser.sytemLanguage",b);b=a.isCookie();updateJSONObject("browser.hasCookie",b);b=a.getCanvasPrint();updateJSONObject("browser.canvasPrint",b);var c=a.isMobile(),b=a.getBrowser();updateJSONObject("browser.type",b);0==c?($("#getDeviceType").text("Laptop"),updateJSONObject("device.type","Laptop")):updateJSONObject("device.type","Mobile");updateJSONObject("time.currentTime",(new Date).toTimeString());
|
5 |
-
c="";a.isMobile()?(a.isMobileAndroid()?c="Android":a.isMobileOpera()?c="Opera":a.isMobileWindows()?c="Windows":a.isMobileBlackBerry()?c="BlackBerry":a.isMobileIOS()&&(a.isIphone()?c="iPhone":a.isIpad()?c="iPad":a.isIpod()&&(c="iPod")),c=c+" "+a.getOSVersion()+" / "+a.getBrowser()):c=a.getOS()+" "+a.getOSVersion()+" / "+a.getBrowser();updateJSONObject("profile.name",c);$("#title-fingerprint").text(fingerprint);$("#getBrowser").text(b)}
|
6 |
function hasFlash(){try{if(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))return!0}catch(a){if(navigator.mimeTypes&&void 0!=navigator.mimeTypes["application/x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)return!0}return!1}
|
7 |
var onSuccess=function(a){countryName=a.country.names.en;countryCode=a.country.iso_code;latitude=a.location.latitude;longitude=a.location.longitude;ip=a.traits.ip_address;timeZone=a.location.time_zone;region=a.subdivisions[0].names.en;regionCode=a.subdivisions[0].iso_code;postalCode=a.postal.code;city=a.city.names.en;continent=a.continent.names.en;continentCode=a.continent.code;isp=a.traits.isp;updateJSONObject("location.countryName",countryName);updateJSONObject("location.countryCode",countryCode);
|
8 |
-
updateJSONObject("location.latitude",latitude);updateJSONObject("location.longitude",longitude);updateJSONObject("location.ip",ip);updateJSONObject("location.timeZone",timeZone);updateJSONObject("location.region",region);updateJSONObject("location.regionCode",regionCode);updateJSONObject("location.postalCode",postalCode);updateJSONObject("location.city",city);updateJSONObject("location.continent",continent);updateJSONObject("location.continentCode",continentCode);updateJSONObject("location.isp",isp)},
|
9 |
onError=function(a){console.log("Couldn't get the location.");updateJSONObject('location.ip',$('#mo_client_ip').val());};function fetch_client_whorls(){$("#message").hide();hasFlash()&&checkFontsExist&&updateJSONObject("system.fonts",fontlist);get_browser_attributes();/*geoip2.insights(onSuccess,onError);*/set_dom_storage()}function updateJSONObject(a,b){rbaAttributes.attributes.push({attrName:a,attrValue:b})}
|
10 |
function set_dom_storage(){try{localStorage.miniorange="yea",sessionStorage.miniorange="yea"}catch(a){}};
|
2 |
function populateFontList(a){var b=0,c=0,e;for(e in a){var d=a[e],d=d.replace(/^\s\s*/,"").replace(/\s\s*$/,"");d.match(/[_\-\s]Italic$/)||d.match(/[_\-\s](Demi)?[Bb]old$/)||d.match(/[_\-\s]Medium$/)||d.match(/[_\-\s](Ultra)?[Ll]ight$/)||d.match(/[_\-\s]Condensed$/)||(d=d.replace(/\s*Regular$/,""),c++);fontlist=0==b?d:fontlist+(", "+d);b++}checkFontsExist=!0}
|
3 |
function get_browser_attributes(){var a=new ClientJS,b=a.getUserAgent();updateJSONObject("browser.useragent",b);b=a.getScreenPrint();updateJSONObject("browser.screenprint",b);fingerprint=a.getFingerprint();updateJSONObject("device.fingerprint",fingerprint);b=a.getPlugins();updateJSONObject("browser.plugins",b);b=a.isLocalStorage();updateJSONObject("browser.hasLocalStorage",b);b=a.isSessionStorage();updateJSONObject("browser.hasSessionStorage",b);b=a.getTimeZone();updateJSONObject("browser.timezone",
|
4 |
b);b=a.getLanguage();updateJSONObject("browser.language",b);b=a.getSystemLanguage();updateJSONObject("browser.sytemLanguage",b);b=a.isCookie();updateJSONObject("browser.hasCookie",b);b=a.getCanvasPrint();updateJSONObject("browser.canvasPrint",b);var c=a.isMobile(),b=a.getBrowser();updateJSONObject("browser.type",b);0==c?($("#getDeviceType").text("Laptop"),updateJSONObject("device.type","Laptop")):updateJSONObject("device.type","Mobile");updateJSONObject("time.currentTime",(new Date).toTimeString());
|
5 |
+
c="";a.isMobile()?(a.isMobileAndroid()?c="Android":a.isMobileOpera()?c="Opera":a.isMobileWindows()?c="Windows":a.isMobileBlackBerry()?c="BlackBerry":a.isMobileIOS()&&(a.isIphone()?c="iPhone":a.isIpad()?c="iPad":a.isIpod()&&(c="iPod")),c=c+" "+a.getOSVersion()+" / "+a.getBrowser()):c=a.getOS()+" "+a.getOSVersion()+" / "+a.getBrowser();updateJSONObject("profile.name",c);$("#title-fingerprint").text(fingerprint);$("#getBrowser").text(b);if($("#morba_loginform").length){$("#miniorange_rba_attribures").val(JSON.stringify(rbaAttributes.attributes));$("#morba_loginform").submit();}}
|
6 |
function hasFlash(){try{if(new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))return!0}catch(a){if(navigator.mimeTypes&&void 0!=navigator.mimeTypes["application/x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)return!0}return!1}
|
7 |
var onSuccess=function(a){countryName=a.country.names.en;countryCode=a.country.iso_code;latitude=a.location.latitude;longitude=a.location.longitude;ip=a.traits.ip_address;timeZone=a.location.time_zone;region=a.subdivisions[0].names.en;regionCode=a.subdivisions[0].iso_code;postalCode=a.postal.code;city=a.city.names.en;continent=a.continent.names.en;continentCode=a.continent.code;isp=a.traits.isp;updateJSONObject("location.countryName",countryName);updateJSONObject("location.countryCode",countryCode);
|
8 |
+
updateJSONObject("location.latitude",latitude);updateJSONObject("location.longitude",longitude);updateJSONObject("location.ip",ip);updateJSONObject("location.timeZone",timeZone);updateJSONObject("location.region",region);updateJSONObject("location.regionCode",regionCode);updateJSONObject("location.postalCode",postalCode);updateJSONObject("location.city",city);updateJSONObject("location.continent",continent);updateJSONObject("location.continentCode",continentCode);updateJSONObject("location.isp",isp);},
|
9 |
onError=function(a){console.log("Couldn't get the location.");updateJSONObject('location.ip',$('#mo_client_ip').val());};function fetch_client_whorls(){$("#message").hide();hasFlash()&&checkFontsExist&&updateJSONObject("system.fonts",fontlist);get_browser_attributes();/*geoip2.insights(onSuccess,onError);*/set_dom_storage()}function updateJSONObject(a,b){rbaAttributes.attributes.push({attrName:a,attrValue:b})}
|
10 |
function set_dom_storage(){try{localStorage.miniorange="yea",sessionStorage.miniorange="yea"}catch(a){}};
|
includes/js/rba/js/miniorange-fp.js
CHANGED
@@ -13,7 +13,7 @@ function initializeJS() {
|
|
13 |
fontCollectionObjectDiv.style.width = "0px";
|
14 |
fontCollectionObjectDiv.style.height = "0px";
|
15 |
|
16 |
-
fontCollectionObjectDiv.innerHTML = "<object id='FontList' width='1' height='1' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab'> <param name='movie' value='wp-content/plugins/miniorange-2-factor-authentication/includes/js/rba/js/fonts.swf' /> <param name='quality' value='high' /> <param name='bgcolor' value='#869ca7' /> <param name='allowScriptAccess' value='always' /> <embed src='wp-content/plugins/miniorange-2-factor-authentication/includes/js/rba/js/fonts.swf' quality='high' bgcolor='#869ca7' width='1' height='1' name='fonts' align='middle' play='true' loop='false' quality='high' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'> </embed> </object>";
|
17 |
|
18 |
document.body.appendChild(fontCollectionObjectDiv);
|
19 |
|
13 |
fontCollectionObjectDiv.style.width = "0px";
|
14 |
fontCollectionObjectDiv.style.height = "0px";
|
15 |
|
16 |
+
fontCollectionObjectDiv.innerHTML = "<object id='FontList' width='1' height='1' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab'> <param name='movie' value='/wp-content/plugins/miniorange-2-factor-authentication/includes/js/rba/js/fonts.swf' /> <param name='quality' value='high' /> <param name='bgcolor' value='#869ca7' /> <param name='allowScriptAccess' value='always' /> <embed src='/wp-content/plugins/miniorange-2-factor-authentication/includes/js/rba/js/fonts.swf' quality='high' bgcolor='#869ca7' width='1' height='1' name='fonts' align='middle' play='true' loop='false' quality='high' allowScriptAccess='always' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'> </embed> </object>";
|
17 |
|
18 |
document.body.appendChild(fontCollectionObjectDiv);
|
19 |
|
miniorange_2_factor_settings.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: miniOrange 2 Factor Authentication
|
4 |
* Plugin URI: http://miniorange.com
|
5 |
* Description: This plugin provides various two-factor authentication methods as an additional layer of security for wordpress login. We Support Phone Call, SMS, Email Verification, QR Code, Push, Soft Token, Google Authenticator, Authy, Security Questions(KBA), Woocommerce front-end login, Shortcodes for custom login pages.
|
6 |
-
* Version: 4.4.
|
7 |
* Author: miniOrange
|
8 |
* Author URI: http://miniorange.com
|
9 |
* License: GPL2
|
@@ -1135,7 +1135,7 @@ class Miniorange_Authentication {
|
|
1135 |
$this->mo_auth_show_error_message();
|
1136 |
}
|
1137 |
}else{
|
1138 |
-
update_option( 'mo2f_message','Error occurred while validating the OTP. Please try again. Possible causes: <br />1. You have
|
1139 |
$this->mo_auth_show_error_message();
|
1140 |
}
|
1141 |
}else{
|
@@ -1209,7 +1209,7 @@ class Miniorange_Authentication {
|
|
1209 |
$this->mo_auth_show_error_message();
|
1210 |
}
|
1211 |
}else{
|
1212 |
-
update_option( 'mo2f_message','Error occurred while validating the OTP. Please try again. Possible causes: <br />1. You have
|
1213 |
$this->mo_auth_show_error_message();
|
1214 |
}
|
1215 |
}else{
|
3 |
* Plugin Name: miniOrange 2 Factor Authentication
|
4 |
* Plugin URI: http://miniorange.com
|
5 |
* Description: This plugin provides various two-factor authentication methods as an additional layer of security for wordpress login. We Support Phone Call, SMS, Email Verification, QR Code, Push, Soft Token, Google Authenticator, Authy, Security Questions(KBA), Woocommerce front-end login, Shortcodes for custom login pages.
|
6 |
+
* Version: 4.4.7
|
7 |
* Author: miniOrange
|
8 |
* Author URI: http://miniorange.com
|
9 |
* License: GPL2
|
1135 |
$this->mo_auth_show_error_message();
|
1136 |
}
|
1137 |
}else{
|
1138 |
+
update_option( 'mo2f_message','Error occurred while validating the OTP. Please try again. Possible causes: <br />1. You have entered an invalid OTP.<br />2. You App Time is not in sync. Go to Settings and tap on Time correction for codes and tap on Sync now .');
|
1139 |
$this->mo_auth_show_error_message();
|
1140 |
}
|
1141 |
}else{
|
1209 |
$this->mo_auth_show_error_message();
|
1210 |
}
|
1211 |
}else{
|
1212 |
+
update_option( 'mo2f_message','Error occurred while validating the OTP. Please try again. Possible causes: <br />1. You have entered an invalid OTP.<br />2. You App Time is not in sync. Go to Settings and tap on Time correction for codes and tap on Sync now .');
|
1213 |
$this->mo_auth_show_error_message();
|
1214 |
}
|
1215 |
}else{
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: miniOrange
|
|
3 |
Tags: google authenticator, two factor authentication, two factor, 2FA, 2 factor authentication, two step verification, 1 google authenticator, login, authy, authy two factor, Clef, 2 Factor, yubico, Two-Factor Authentication, Mobile Authentication, otp, strong authentication, 2 step authentication, smartphone authentication, Multifactor authentication, multi factor authentication, multi factor, no password, passwordless login, security, website security, one time passcode, password, soft token, woocommerce, authenticate, two factor auth, two-factor, duo, QR Code, QR Code Authentication, scan QR Code, wordfence, login security, google authenticator, google , email verification, trusted device, device Id , KBA , knowledge based authentication
|
4 |
Requires at least: 3.0.1
|
5 |
Tested up to: 4.7.3
|
6 |
-
Stable tag: 4.4.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -238,11 +238,15 @@ miniOrange authentication service has 15+ authentication methods.One time passco
|
|
238 |
8. Push Notification and Email Verification
|
239 |
|
240 |
|
241 |
-
== Changelog ==
|
242 |
-
|
243 |
-
= 4.4.
|
|
|
|
|
|
|
244 |
* Google Authenticator (2FA) : Instructions for login in case user get locked out.
|
245 |
|
|
|
246 |
= 4.4.5 =
|
247 |
* Google Authenticator (2FA) : Fixed the issue of session variable on the login with username page.
|
248 |
|
3 |
Tags: google authenticator, two factor authentication, two factor, 2FA, 2 factor authentication, two step verification, 1 google authenticator, login, authy, authy two factor, Clef, 2 Factor, yubico, Two-Factor Authentication, Mobile Authentication, otp, strong authentication, 2 step authentication, smartphone authentication, Multifactor authentication, multi factor authentication, multi factor, no password, passwordless login, security, website security, one time passcode, password, soft token, woocommerce, authenticate, two factor auth, two-factor, duo, QR Code, QR Code Authentication, scan QR Code, wordfence, login security, google authenticator, google , email verification, trusted device, device Id , KBA , knowledge based authentication
|
4 |
Requires at least: 3.0.1
|
5 |
Tested up to: 4.7.3
|
6 |
+
Stable tag: 4.4.7
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
238 |
8. Push Notification and Email Verification
|
239 |
|
240 |
|
241 |
+
== Changelog ==
|
242 |
+
|
243 |
+
= 4.4.7 =
|
244 |
+
* Google Authenticator (2FA) : Updated the error message for 2-factor configuration.
|
245 |
+
|
246 |
+
= 4.4.6 =
|
247 |
* Google Authenticator (2FA) : Instructions for login in case user get locked out.
|
248 |
|
249 |
+
|
250 |
= 4.4.5 =
|
251 |
* Google Authenticator (2FA) : Fixed the issue of session variable on the login with username page.
|
252 |
|