UNPKG

opay

Version:

opay library for Open Payment Protocol

57 lines (54 loc) 1.62 kB
<!DOCTYPE html> <html> <head> <title>NBLogin Demo</title> <meta charset="UTF-8"> <!--<script src="https://unpkg.com/opay@1.0.0/opay.min.js"></script> --> <script src="opay.min.js"></script> <script src="https://unpkg.com/nblib@latest/nblib.min.js" ></script> </head> <body> <h2>Demo How to use NBdomain as a Global ID</h2> <br><br> <p>Login Name (please input a valid nbdomain)</p> <br> <input type="text" name="name" id="emName"/> <button onclick="onLogin()">Login</button> <div id="pay" style="width:350px;height:250px"> </div> <script type="text/javascript"> nblib.init({ debug:false, opay:opay, enable_write:false }); async function onLogin(){ opay.init({containerID:"pay",timeout:50,debug:true}); opay.setUI({close:true}); const signmsg = "hellp-jeff"; let name = document.querySelector("#emName").value; console.log("getting domain") const domain = await nblib.getDomain(name); if(domain) { console.log("got domain:",domain) let strPubkey = domain.info.owner_key; let address = domain.info.owner; let hash1 = opay.sha256(signmsg); let RequestBody = { signer:address, data_hash:hash1 } if(opay!=undefined){ let req = { sign_request:{ data:RequestBody } } opay.request(req,(e)=>{ const retObj = e; let ret = {code:0,message:"success"}; if(retObj.code==0){ const signed = retObj.body; const verified = opay.verify(hash1,signed,strPubkey); alert(verified?'login successful':'login failed'); return ret; }else{ ret.code=1; return ret; } }); } } } </script> </body> </html>