lemonldap-ng/lemonldap-ng-portal/site/htdocs/static/common/js/u2fregistration.min.js
Christophe Maudoux 522d8a886c Check 2F name
2018-08-31 19:10:35 +02:00

2 lines
2.2 KiB
JavaScript

(function(){var displayError,register,setMsg,verify;setMsg=function(msg,level){$("#msg").html(window.translate(msg));$("#color").removeClass("message-positive message-warning alert-success alert-warning");$("#color").addClass("message-"+level);if(level==="positive"){level="success"}return $("#color").addClass("alert-"+level)};displayError=function(j,status,err){var res;console.log("Error",err);res=JSON.parse(j.responseText);if(res&&res.error){res=res.error.replace(/.* /,"");console.log("Returned error",res);return setMsg(res,"warning")}};register=function(){return $.ajax({type:"POST",url:portal+"2fregisters/u/register",data:{},dataType:"json",error:displayError,success:function(ch){var request;request=[{challenge:ch.challenge,version:ch.version}];setMsg("touchU2fDevice","positive");$("#u2fPermission").show();return u2f.register(ch.appId,request,[],function(data){$("#u2fPermission").hide();if(data.errorCode){return setMsg(data.error,"warning")}else{return $.ajax({type:"POST",url:portal+"2fregisters/u/registration",data:{registration:JSON.stringify(data),challenge:JSON.stringify(ch),keyName:$("#keyName").val()},dataType:"json",success:function(resp){if(resp.error){if(resp.error.match(/badName/)){return setMsg("badName","warning")}else{return setMsg("u2fFailed","warning")}}else if(resp.result){return setMsg("yourKeyIsRegistered","positive")}},error:displayError})}})}})};verify=function(){return $.ajax({type:"POST",url:portal+"2fregisters/u/verify",data:{},dataType:"json",error:displayError,success:function(ch){setMsg("touchU2fDevice","positive");return u2f.sign(ch.appId,ch.challenge,ch.registeredKeys,function(data){if(data.errorCode){return setMsg("unableToGetKey","warning")}else{return $.ajax({type:"POST",url:portal+"2fregisters/u/signature",data:{signature:JSON.stringify(data),challenge:ch.challenge},dataType:"json",success:function(resp){if(resp.error){return setMsg("u2fFailed","warning")}else if(resp.result){return setMsg("yourKeyIsVerified","positive")}},error:function(j,status,err){return console.log("error",err)}})}})}})};$(document).ready(function(){$("#u2fPermission").hide();$("#register").on("click",register);$("#verify").on("click",verify);return $("#goback").attr("href",portal)})}).call(this);