opay
Version:
opay library for Open Payment Protocol
57 lines (54 loc) • 1.62 kB
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>