2017-02-14 137 views
0

我使用xapiwrapper.min.js和文件喜欢它来发送报表给LRS。我自己的包含javascript的文件被称为init.js,如下所示。 Init.js是从我的其他主html5文件中引用的。随着您在init.js文件中进一步查看,您将看到ADL LRS的一些凭证信息。有没有什么办法可以让用户不能看到它?如何隐藏或保护在交互身份验证凭据与LRS

init.js文件

<!--This happens when the user clicks the Submit button.--> 
$("#myButton").click(function(){ 
    //creating a couple of local variables 
    var name = $("#nameID").val(); 
    var email = $("#emailID").val(); 

    if(name=='') { 
    alert("Please enter a name"); 
    myForm.name.focus(); 
    return (false); 
    } 
    if(email=='') { 
    alert("Please enter an email"); 
    myForm.name.focus(); 
    return (false); 
    } 

    //creating global variables 
    setGlobal(email, name); 
    //move to page 2 
    document.location.replace("tableOfContents.html"); 

}); 



//Setting some global variables in case we need them later. 
function setGlobal(actEmail, actName) { 
    // Save the name in localStorage. 
    localStorage.setItem('name', actName); 
    // Save the email in localStorage. 
    localStorage.setItem('email', actEmail); 
} 


<!--When the user clicks the feedback link--> 
$("#feedback").click(function(){ 
    window.open('mailto:[email protected]?subject=Feedback on MS Office 365 tutorials'); 
    }); 


<!--When the user clicks the logout link--> 
$("#logout").click(function(){ 
    localStorage.removeItem("name"); 
    localStorage.removeItem("email"); 
    document.location.replace("index.html"); 
}); 



    // Auth for the ADL LRS 
    var conf = { 
     "endpoint" : "https://lrs.adlnet.gov/xapi/", 
     "user": "xapi-tools", 
     "password": "xapi-tools", 
     "auth": "xapi-tools" 
    }; 




$("#myModal").on('hidden.bs.modal', function (e) { 
    $("#myModal iframe").attr("src", $("#myModal iframe").attr("src")); 
}); 

回答

2

实际上,没有。

唯一真正的办法来解决这个问题是在LRS每用户证书才能使用,并让用户“知道”自己的凭据,使他们能够进入他们时,先用LRS通信。

各种替代存在改善这一状况在不同程度上:

1)使用OAuth,使上述建议,“更容易”只要OAuth是以往更容易。这需要很好地理解OAuth的工作方式和实现它的LRS,我不知道ADL xAPI包装是否支持它。

2)使用服务器端与LRS进行通信,可以通过代理设置完成,以便服务器可以进行身份​​验证,然后调整对LRS的调用凭据或使用转换为xAPI调用的自定义调用。在代理案例中,中间服务器仍然对最终用户的凭证进行适当的身份验证非常重要。

3)使用例如可到期,有限的凭证在发射情况下使每次发射被赋予具有到LRS有限访问新的凭据。这就是最初的锡罐发布指南的工作原理。 (凭证仍然是在客户端使用。)

4)使用的可到期,有限的凭证,例如在发射情况下,例如如何指定cmi5一次性使用的检索。在这种情况下,会话由一个只能访问一次的提取URL启动,并将凭证提供给具有受限能力的客户端。 (凭证仍然是在客户端可用。)

5)自定义LRS以允许认证的一些其它形式。

除#2以外,最终客户将始终拥有LRS的凭证。

+0

应该是, 1)使用OAuth使上述建议“更容易”,因为OAuth更容易__never__。 不让我编辑一个字符:( – garajo

相关问题