Desire 2了解Valence API身份验证和Cookie

时间:2012-03-28 13:15:06

标签: desire2learn

我正试图以无头的方式使用价态api。

附注:我必须修改超链接,因此它们不是链接,或者我无法发布问题。

情景1:

使用提供的Java示例时,如果没有cookie,则会触发以下URL:

https://elearning.masked.edu/d2l/auth/api/token?x_a=JjGDh8MaskedDgOGlPPagA&x_b=gnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY&x_target=http%3A%2F%2Flocalhost%3A8080%2FD2LValenceExample%2Findex.jsp

这给了我302响应并将浏览器发送到

https://elearning.masked.edu/d2l/login?target=%2fd2l%2fauth%2fapi%2ftoken%3fx_a%3dJjGDh8MaskedDgOGlPPagA%26x_b%3dgnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY%26x_target%3dhttp%253a%252f%252flocalhost%253a8080%252fD2LValenceExample%252findex.jsp&sessionExpired=1

这给了我另一个302响应并将浏览器发送到

https://elearning.masked.edu/?target=%2fd2l%2fauth%2fapi%2ftoken%3fx_a%3dJjGDh8MaskedDgOGlPPagA%26x_b%3dgnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY%26x_target%3dhttp%253a%252f%252flocalhost%253a8080%252fD2LValenceExample%252findex.jsp

哪个是D2L登录屏幕。所以我登录并将包含我的凭据的帖子发送到:

https://elearning.masked.edu/d2l/lp/auth/login/login.d2l

最后,我的浏览器被发送到D2L主页:

https://elearning.masked.edu/d2l/lp/homepage/home.d2l?ou=1234123

这不遵循http://docs.valence.desire2learn.com/basic/auth.html中列出的流程。我期待重定向到appURL。

但是,当我们第二次这样做时,会达到预期的结果:

情景2:

https://elearning.masked.edu/d2l/auth/api/token?x_a=JjGDh8MaskedDgOGlPPagA&x_b=gnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY&x_target=http%3A%2F%2Flocalhost%3A8080%2FD2LValenceExample%2Findex.jsp

http://localhost:8080/D2LValenceExample/index.jsp?x_a=Da6kyMaskedDMZy8l_1&x_b=SV6_ONhvMaskedoBc_hHZ&x_c=oD7JMT9CGgyLljIF_1MaskedCI5YZHJPcIgKD4

区别在于饼干。当我删除elearning.masked.edu的cookie时,方案1中的结果总是会发生。那么当我们在没有cookie的情况下启动时,问题就变成了进行Web服务身份验证调用的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

在没有cookie的情况下启动(场景1),这个序列是我以前看到的(使用样本和测试服务器),但有一个区别。

在将凭据发布到的最后一步: HTTP {S}://elearning.masked.edu/d2l/lp/auth/login/login.d2l

预期的结果是首先重定向回登录资源(d2l / auth / api / token),然后重定向到目标:http://localhost:8080%/D2LValenceExample/index.jsp

结合建议来解决这个问题:

相同的代码是否可以使用示例中的密钥和服务器(http://docs.valence.desire2learn.com/samples/gettingStarted.html#java)?如果是这样,它会建议服务器特定的上下文(这可能意味着联系D2L支持)。

在发布凭据和到达主页之间是否还有其他重定向步骤?

是否有任何可能影响登录的特殊过滤器或auth系统?