gpt4 book ai didi

javascript - 如何在与 LRS 交互时隐藏或保护身份验证凭据

转载 作者:行者123 更新时间:2023-12-01 04:00:29 25 4
gpt4 key购买 nike

我正在使用 xapiwrapper.min.js 和类似文件将语句发送到 LRS。我自己的包含 javascript 的文件称为 init.js,如下所示。 Init.js 是从我的其他主要 html5 文件中引用的。当您进一步查看我的 init.js 文件时,您将看到 ADL 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:internaltraining@syniverse.com?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"));
});

最佳答案

实际上,不。

解决此问题的唯一真正方法是在 LRS 中使用每个用户凭据,并让用户“知道”自己的凭据,以便他们在首次与 LRS 通信时可以输入这些凭据。

存在多种替代方案可以在不同程度上改善这种情况:

1) 使用 OAuth 使上述建议变得“更容易”,因为 OAuth 变得更加容易。这需要很好地理解 OAuth 的工作原理以及实现它的 LRS,而且我不知道 ADL xAPI 包装器是否支持它。

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

3) 在启动场景中使用过期的、有限的凭据,以便每次启动都会获得一个对 LRS 具有有限访问权限的新凭据。这就是最初的 Tin Can 发射指南的工作原理。 (该凭据在客户端中仍然可用。)

4) 使用一次性检索过期、有限的凭据,例如在启动场景中(例如如何指定 cmi5)。在这种情况下, session 是使用只能访问一次的获取 URL 启动的,并将凭据返回给能力受限的客户端。 (该凭据在客户端中仍然可用。)

5) 自定义 LRS 以允许其他形式的身份验证。

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

关于javascript - 如何在与 LRS 交互时隐藏或保护身份验证凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42231686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com