conditionally load forge

This commit is contained in:
AJ ONeal 2018-04-30 21:34:41 -06:00
parent 579250c5a8
commit 06317d1812
2 changed files with 18 additions and 1 deletions

View File

@ -5,7 +5,14 @@ var Authenticator = exports.Authenticator || exports;
var Unibabel = window.Unibabel; // || require('unibabel');
var totp = window.totp; // || require('notp').totp;
if (!window.crypto) {
function loadForge() {
var script = document.createElement('script');
script.src = 'demo/bower_components/forge/dist/forge.min.js';
script.addEventListener('load', collectRandom);
document.body.appendChild(script);
}
function collectRandom() {
document.addEventListener('mousemove', function (event) {
var ev = event || window.event;
@ -14,6 +21,14 @@ if (!window.crypto) {
});
}
if (!window.crypto) {
if (!window.forge) {
loadForge();
} else {
collectRandom();
}
}
// Generate a key
function generateOtpKey() {
// 20 cryptographically random binary bytes (160-bit key)

View File

@ -93,7 +93,9 @@
<script src="demo/bower_components/unibabel/unibabel.base32.js"></script>
<!-- forge.* -->
<!--[if lt IE 11]>
<script src="demo/bower_components/forge/dist/forge.min.js"></script>
<![endif]-->
<!-- botp.totp -->
<script src="demo/bower_components/botp/sha1-hmac.js"></script>