0

给定一个 LTI 请求,如何向 Valence API 进行身份验证?

我唯一看到的是这样的:

Desire2Learn 中的小部件和 API

这似乎表明,当我们的外部学习工具从 D2L 服务器接收到一个 POST 时,我们可以发出一个 Valence API 身份验证请求,它是一个 GET 形式的请求:

"https://{服务器域}/d2l/auth/api/token?x_a={app id}&x_b={未编码的重定向 url 使用应用密钥签名}&x_target={编码的重定向 url}"

因此 D2L 服务器将立即返回以下形式的响应:

{redirect url}?x_a={token id}&x_b={token key}&x_c={用户身份签名}

无需向用户请求凭据。我的问题是:

如果这是正确的,那么 D2L 服务器如何识别正在请求身份验证的用户,因为请求中没有指定用户信息?

是否有某种会话信息必须附加到身份验证请求 url,或者必须以 cookie 的形式伴随它?

如果上述描述不正确,那么在给定 LTI 请求的情况下,外部学习工具如何使用 Valence API 进行身份验证?

4

1 回答 1

0

自动重定向只发生在从 BLTI 或 Widget 回调的场景中。这是因为浏览器仍然有一个登录用户的会话(由会话 cookie 维护)。

到达系统的独立应用程序可能没有该会话,并将通过凭据提示。

另外两个注意事项: - 您可以通过调用“whoami”检索登录用户的信息 - 用户在首次使用应用程序时会收到提示,询问他们是否希望应用程序代表他们访问数据。

更新: 我已经将一个基本示例放在一起显示 LTI 和 Valence,并写了一篇快速博客文章来更详细地描述它

于 2012-05-24T13:33:20.223 回答