【问题标题】:Authenticate a user into D2L using the APP ID and APP KEY使用 APP ID 和 APP KEY 将用户身份验证到 D2L
【发布时间】:2013-02-15 16:18:48
【问题描述】:

如果您已使用 APPID 和 APPKEY 以及特定用户进行身份验证(意味着当提示用户用户名和密码已输入并通过身份验证时)并且系统已发回 USERID 和 USERKEY。然后,您能否调用 API 以将该用户验证到 D2L,以便用户到达 D2L MY HOME 页面?

除此之外... 如果特定用户的 USERID 和 USERKEY 存储在数据库中,您是否可以单独使用该数据通过 API 调用将用户身份验证到 D2L,以便用户无需额外登录提示即可到达我的主页?

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

【问题讨论】:

    标签: desire2learn


    【解决方案1】:

    这个问题有几个不同的问题。

    用户的活动网络会话。目前,D2L 的 Valence 平台的用户身份验证不采用这种方式。当 LMS 可以确认它与用户有活动会话时,它只会在身份验证过程中提供用户 ID/密钥对:

    1. 调用 API 的客户端直接向 LMS 发出请求以检索用户的 UserID/Key 对。

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

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

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

    程序化登录。目前,D2L 的 Valence 平台支持直接参与用户身份验证过程:没有调用通过提供用户 ID/密码或任何其他在用户和管理系统。 Valence 安全模型专门寻求避免让 API 调用客户端知道用户和 LMS 之间共享的身份验证秘密。

    使用 Valence Learning Framework API 的客户需要:

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

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

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

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

    • LMS 生成时与 ID/Key 对关联的到期时间到达(LMS 管理员可以确保这些令牌的默认到期时间值为“无限期”)

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

    • LMS 管理员手动撤销用户的客户端应用访问权限

    【讨论】:

      猜你喜欢
      • 2012-01-26
      • 2018-07-22
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2014-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多