1

我们的集成之一使用 D2LWS UserManagementService 将用户名转换为 userId。当学生单击 LTI 请求时,我们会收到他们的用户名、名字和姓氏,但我们需要数字 userId 用于其他一些 Valence API 调用。

我们想在 D2LWS 退役之前减少对它们的依赖,所以我们想知道是否有等效的 Valence API 调用可以用来进行这种转换?

4

1 回答 1

1

客户端应用程序可以通过多种方式填写其对 LMS 用户身份属性的理解。还值得注意的是,D2LWS 平台本质上针对服务到服务级别的操作信任进行了优化,而较新的 Valence 平台针对用户到服务的操作信任进行了优化——这意味着所有的 Valence 调用都必须发生在一些真实的、经过身份验证的 LMS 用户帐户的上下文(在某种意义上,为了进行调用,客户端应用程序必须首先请求获取经过身份验证的用户的用户 ID/密钥对)。

如果 LMS 始终会通过 LTI 启动联系或提示您的客户端服务,那么您将有足够的容量从该启动开始(请参阅围绕我们的远程插件服务将 Valence 调用与 LTI 结合的详细主题)。应该有一个真正的 LMS 用户会以某种方式从登录的 LMS 会话中启动该启动。因此,在 LTI 启动后,您的服务可以转身并调用 LMS 来为当前经过身份验证的用户请求用户令牌,并且该用户几乎可以肯定是 LTI 启动用户。

通常,对于从 LTI 启动获得联系然后想要使用 Valence 的服务,我们建议您在启动后立即建立用户上下文并拨打 whoami 电话:这可以用于多种目的 - 它可以确定您有您可以使用一组可靠的用户令牌代表启动用户进行 Valence 调用,并且您可以使用在WhoAmIUser 数据结构中检索到的信息来帮助填写您的用户身份的上下文。

出于您的特定目的,WhoAmIUser 数据结构包含启动用户的名字、姓氏、唯一名称(用户名)和 LMS 配置文件标识符,以及Identifier您可以在上下文中使用的 LMS 用户标识符 ( ) 属性如果您需要,其他 Valence 电话。但是,您还应该强烈考虑转向用户到服务的方法:当所有调用都发生在特定用户的上下文中时,您可能会发现您的最佳路线是使用所有“我的”路线来填写您呈现给用户的用户体验——请记住,您在 Valence API 调用中使用的用户凭据会限制您对功能和数据的访问,就像该用户在与 LMS 的正常交互过程中受到限制一样通过其网络用户界面。

于 2013-10-01T12:39:07.967 回答