2017-02-14 135 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

相關問題