1

我希望有人能告诉我身份验证与新的 D2L REST API 一起工作的方式。从我阅读和使用“GetStarted”示例代码来看,调用似乎是基于“用户身份级别”和“用户接受度”的。

对我们来说,这有点问题。

我们有几个自定义工具,学生可以在其中完成一项活动(D2L 之外)并获得评分。设置这些工具,以便以这种方式提供的成绩与我们的 D2L 实例中给定课程的成绩簿列相关联。目前使用 SOAP,我们只使用特权 Web 服务帐户,这样当学生完成任务时,成绩会自动导出到给定课程中相关的成绩册列。

我对 REST 文档的理解是,不再可能使用特权 Web 服务帐户,因为它每次都必须登录并接受该工具的使用。完成任务的学生不会拥有这些信息(我们也不需要),并且学生的访问级别不允许他升级成绩簿列,因此我们也无法使用他的“用户身份” .

我能想到的唯一选择是将所有成绩存储在其他地方。然后,在适当的时候,课程的讲师会使用他们的“用户身份级别”和“用户接受度”登录并批量更新成绩册?

这个对吗?

对我们来说,这非常麻烦,因为我们相当依赖自己工具的身份验证方法和特权 Web 服务帐户。

4

1 回答 1

1

不需要额外的手动登录,我已经看到在这种情况下使用了两种替代方法。两者都利用了 Valence 身份验证系统使用密钥和签名的事实。通过使用签名而不是发送令牌,即使是纯文本 API 也不会受到会话劫持,因此密钥可以安全地长时间保持有效。此期限通常设置为 30 天,但是,当您描述的应用程序正在使用时,最好不要超时。您可以联系支持以调整您的服务器的此超时。(如果密码被重置或被明确撤销,密钥仍然被重置)。

使用长寿命密钥可能会出现以下情况,而无需应用程序直接接收或存储用户密码(密钥存储仍需要安全完成):

讲师帐户上下文:如果应用程序工作流程已经要求讲师激活或配置流程,则可以在初始会话期间保留该讲师的用户 ID 和用户密钥,然后用于提交成绩。这不需要任何特殊帐户或提升的权限,但仅适用于工作流已经涉及讲师上下文的情况。

公用事业帐户上下文:如果应用程序不涉及讲师,则可以创建一个具有更新成绩权限的公用事业帐户。这通常是已经用于 D2LWS 的方法,但是需要一个额外的步骤。在这种情况下,实用程序帐户的密钥是带外建立的(例如,入门示例 (http://docs.valence.desire2learn.com/samples/gettingStarted.html) 将显示密钥)。或者,可以创建自动记录实用程序帐户中的密钥的安装或配置类型过程。记录这些密钥后,不需要额外的交互会话。

于 2012-03-30T21:15:15.557 回答