Desire2learn 使用应用程序ID和应用程序密钥将用户验证为D2L

Desire2learn 使用应用程序ID和应用程序密钥将用户验证为D2L,desire2learn,Desire2learn,如果您已使用APPID和APPKEY以及特定用户进行了身份验证(即在提示时,用户用户名和密码已输入并经过身份验证),并且系统已发回用户ID和用户密钥。然后,您是否可以进行API调用以将该用户验证为D2L,以便该用户到达D2L我的主页 除此之外。。。 如果特定用户的USERID和USERKEY存储在数据库中,您是否可以单独使用该数据使用API调用将用户身份验证到D2L中,以便用户在没有额外登录提示的情况下到达我的主页 我理解,如果USERID和USERKEY已过期,这将不起作用。在这个问题中有几个

如果您已使用APPID和APPKEY以及特定用户进行了身份验证(即在提示时,用户用户名和密码已输入并经过身份验证),并且系统已发回用户ID和用户密钥。然后,您是否可以进行API调用以将该用户验证为D2L,以便该用户到达D2L我的主页

除此之外。。。 如果特定用户的USERID和USERKEY存储在数据库中,您是否可以单独使用该数据使用API调用将用户身份验证到D2L中,以便用户在没有额外登录提示的情况下到达我的主页


我理解,如果USERID和USERKEY已过期,这将不起作用。

在这个问题中有几个不同的问题

用户的活动web会话。目前,D2L的Valence平台的用户身份验证不能以这种方式工作。LMS仅在能够确认其与用户之间存在活动会话时,才会在身份验证过程中提供用户ID/密钥对:

  • API调用客户端直接向LMS发出请求,以检索用户的用户ID/密钥对

  • a。如果LMS与用户有活动会话,(必要时生成并)返回该应用程序/用户对的用户ID/密钥对

    b。如果LMS没有与用户的活动会话,则通过其配置的登录过程来验证用户:这可能是将调用web请求重定向到LMS自己的用户登录页面,或者重定向可能通过LMS用于验证用户的第三方服务(例如,配置的SSO IDP)

  • 这意味着:如果使用API启动身份验证过程以检索用户ID/密钥对,则调用web浏览器(作为该过程的一部分)将已经与LMS有一个活动的web会话。用户将被要求使用LMS使用的任何身份验证过程登录,或者用户已经这样做,并且调用浏览器将知道这一点(因为它具有指示活动会话的cookie状态)

    编程登录。目前,D2L的Valence平台不支持直接参与用户身份验证过程:没有通过提供用户ID/密码或用户与LMS之间共享的任何其他秘密来调用LMS对用户进行身份验证。Valence安全模型特别寻求避免API调用客户端知道用户和LMS之间共享的身份验证秘密

    使用Valence学习框架API的客户机需要:

    • 通过从LMS请求用户ID/密钥对来启动身份验证过程(在这种情况下,LMS将寻求对用户进行身份验证;请参阅前面的答案)

    • 通过使用有效的用户ID/密钥对,从已从LMS收集的缓存状态重建用户上下文(这反过来需要真实用户通过LMS进行身份验证)

    用户ID/密钥对到期。请注意,LMS提供给调用客户端的这些身份验证令牌的使用寿命较长。它们应该持续到浏览器为用户提供的当前web会话。因此,客户机应用程序应将这些数据视为安全数据,尤其是与客户机应用程序自己的ID/密钥对结合使用时(因为用户ID/密钥对与应用程序自己的ID/密钥对绑定)。虽然我们希望客户端应用程序缓存这些身份验证令牌,但我们也希望它们作为敏感信息缓存

    当以下事件之一发生时,为应用程序生成的用户ID/密钥对将过期:

    • 当LMS生成ID/密钥对时,与该ID/密钥对相关联的到期时间到达(LMS管理员可以确保这些令牌的默认到期时间值为“不确定”)

    • 用户密码更改(由用户或LMS管理员重置)

    • LMS管理员手动撤销用户对客户端应用程序的访问