我刚刚开始使用D2L,遇到了一些问题。
在“入门”页面上,我已经完成了前三个步骤:
1)从D2L获取应用程序密钥/ ID对-我已收到App和App
2)在您的主机LMS中创建一个测试帐户-我已经创建了一个具有管理员角色的新用户帐户来进行测试。
3)选择要使用的客户端库-我使用的是PHP
4)用你的LMS认证--这是我遇到麻烦的地方。
当我使用入门示例时:http://samples.valence.desire2learn.com/samples/GettingStartedSample/
然后输入我的主机,应用ID和应用键,然后点击“身份验证”按钮,我得到一个“这个应用程序在这个LMS实例上没有授权。请你的管理员授权这个应用程序”错误。
我是D2L主机的管理员,我不知道如何授权我自己的应用程序。
我尝试了以下几点:
我做错了什么?
发布于 2013-06-03 13:36:59
根据你的问题和评论,这里有两个问题:
?target=
参数,并在整个用户身份验证过程中引导该参数。
如果您的LMS不执行用户身份验证,而是依赖于另一个第三方IDP (如Shibboleth),则传入登录进程的任何?target=
参数都必须由IDP处理,并在用户身份验证后正确地返回给LMS。在用户身份验证过程中出现多个重定向的情况下,这可能涉及target
参数的连续生成,并且每个生成必须重新对前一个请求URL进行完整的编码(比如在另一个信封内粘贴一个信封,在另一个信封内)。如果您的LMS没有被正确配置为支持这两点(在其他操作中您可能没有注意到),那么对的客户端调用将无法工作,因为调用客户端将无法获取一组用户令牌。
要解决其中的第二个问题,您可能必须联系D2L的客户支持台 --他们可以验证并根据需要调整此身份验证链的LMS配置部分。如果您正在将LMS与其他未由D2L管理或部署的第三方IDP组件集成,那么您可能还需要调整它们的配置: D2L可能会建议在那里需要做什么(在URls上管理target
参数),但在这些情况下不能为您调整配置。
https://stackoverflow.com/questions/16843254
复制相似问题