Libraries to use nomorepass.com security services
nomorepass is a library to use nomorepass in Node or browser. It is intended to use in any environment, so it does not generate / print the qr-code needed, instead provides the text that should be included in the qrcode (you can generate using any qrcode libraries).
npm install nomorepass
To receive passwords:
var nmp = require('nomorepass');
// Initialize the environment (do it each time you need)
nmp.init({'apikey':'MYAPIKEY'});
// Launch the process for testsite (replace with you app-id)
nmp.getQrText('testsite', function(text){
if (text==false) {
console.log("Error calling nomorepass");
} else {
console.log(text);
// Show the qr generated for text
// Start waiting for mobile app scanning
nmp.start(function(error,data){
if (error) {
console.log("Error "+data);
} else {
console.log(data);
// Use the data provided:
// {user: 'username', password: 'password', extra: json-encoded-extra-info}
}
});
// Stop after 1 minute (you can stop manually calling nmp.stop())
setTimeout(nmp.stop,60000);
}
});
To send passwords:
var nmp = require('nomorepass');
// Initialize the environment (do it each time you need)
nmp.init({'apikey':'MYAPIKEY'});
var user = 'usernametosend';
var pass = 'thepasstosend';
nmp.getQrSend (null,user,pass,{type:'pwd'},
function (text){
if (text==false){
console.log("Error calling nmp");
} else {
console.log(text);
// Show the qr with this text
// wait to be scanned and received
// by the app
nmp.send (function(data){
console.log(data);
// hide qr here.
})
}
}
);
There are included libraries to use directly on the browser. You'll find inside the www directory. To use inside your page you should include this files:
<script src="js/aes.js"></script>
<script src="js/nomorepass.js"></script>
We have included for demo purpouses the QRCode for Javascript library from http://jeromeetienne.github.com/jquery-qrcode/
<script src="js/qrcode.js"></script>
Designate a div where show the qr (#qrcode in the example).
To receive a password (using QRCode to show the qr) and fill two fields (#username and #password):
var qrelement = document.querySelector('#qrcode');
NomorePass.init({'apikey':'MYAPIKEY'});
NomorePass.getQrText(window.location.href,function(text){
qrelement.innerHTML="";
qrelement.style.display="block";
new QRCode(qrelement, text);
qrelement.onclick=function(e){
window.open(text,'_system');
};
// Waiting...
NomorePass.start(function(error,data){
if (error)
alert (data);
else {
document.querySelector('#username').value=data.user;
document.querySelector('#password').value=data.password;
qrelement.innerHTML="";
}
});
});
To send user and pass to the phone:
var qrelement = document.querySelector('#qrcode');
NomorePass.init({'apikey':'MYAPIKEY'});
NomorePass.getQrSend ('testpage',user,pass,{type:'pwd'},
function (text){
if (text==false){
alert("Error calling nmp");
} else {
// Show the qr with this text
qrelement.innerHTML="";
qrelement.style.display="block";
new QRCode(qrelement, text);
qrelement.onclick=function(e){
window.open(text,'_system');
};
// wait to be scanned and received
// by the app (optional)
NomorePass.send (function(data){
qrelement.innerHTML="<p>Password received</p>";
console.log(data);
// hide qr here.
})
}
}
);
You can test the browser libraries by opening www/test.html in your favourite browser and receive / send passwords.
- Download and install the mobile app
- [android] https://play.google.com/store/apps/details?id=com.biblioeteca.apps.NoMorePass
- [ios] https://itunes.apple.com/us/app/no-more-pass/id1199780162?l=es&ls=1&mt=8
- Open it and create a new password (or use some of yours)
- Then you can scan the qrcode generated by the library to send securely this password to your app or send/update passwords from your code to the app.
Visit nomorepass.com or leave an Issue
(C) 2021 Nomorepass.com