OAuth具有LTI的无效签名

OAuth具有LTI的无效签名,oauth,lti,Oauth,Lti,我正在尝试使用LTI将LMS(画布)与我的第三方学习工具集成。作为流程的一部分,我将使用Canvas发送给我的请求变量: Array ( [oauth_consumer_key] => key [oauth_nonce] => s78gkWprnVJ6qp2UaCaEZ39WoYm91yOztiCBRhDx7s [oauth_signature] => l82UMpiOt62vTd7Eu4GzyVVxYk0= [oauth_sig

我正在尝试使用LTI将LMS(画布)与我的第三方学习工具集成。作为流程的一部分,我将使用Canvas发送给我的请求变量:

Array ( [oauth_consumer_key] => key
        [oauth_nonce] => s78gkWprnVJ6qp2UaCaEZ39WoYm91yOztiCBRhDx7s
        [oauth_signature] => l82UMpiOt62vTd7Eu4GzyVVxYk0=
        [oauth_signature_method] => HMAC-SHA1
        [oauth_timestamp] => 1367072335 [oauth_version] => 1.0 )
并通过标题将它们发送到我的“request_token.php”脚本()。结果是签名无效。然而,我已经在本地测试了代码,当不从LMS中提取信息时,它似乎工作得很好。我已经转储了OAuthRequest对象,进一步表明OAuthRequest实际上使用了正确的变量

OAuthRequest Object
( [parameters:protected] =>
Array ( [oauth_consumer_key] => key
        [oauth_nonce] => s78gkWprnVJ6qp2UaCaEZ39WoYm91yOztiCBRhDx7s
        [oauth_signature] => l82UMpiOt62vTd7Eu4GzyVVxYk0=
        [oauth_signature_method] => HMAC-SHA1
        [oauth_timestamp] => 1367072335 [oauth_version] => 1.0 )
        [http_method:protected] => GET
        [http_url:protected] => http://www.itsmorethanatextbook.com:80/oauth/example/request_token.php?oauth_consumer_key=key&oauth_nonce=s78gkWprnVJ6qp2UaCaEZ39WoYm91yOztiCBRhDx7s&oauth_signature=l82UMpiOt62vTd7Eu4GzyVVxYk0=&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1367072335&oauth_version=1.0
        [base_string] => GET&http%3A%2F%2Fwww.itsmorethanatextbook.com%2Foauth%2Fexample%2Frequest_token.php&oauth_consumer_key%3Dkey%26oauth_nonce%3Ds78gkWprnVJ6qp2UaCaEZ39WoYm91yOztiCBRhDx7s%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1367072335%26oauth_version%3D1.0 )

可能需要对LTI变量采取一些额外的步骤才能使其工作吗?(我试着对它们进行编码,但没用)

你能找到答案吗?我也有同样的问题。任何帮助都将不胜感激。我能够解决这个问题,但不是没有大量的脑力劳动和代码调整。然而,如果有帮助的话,我最终使用了这个博客:。要理解整个过程,需要对面向对象编程有基本的了解。这两个环节都不好。你能总结一下问题所在的一般领域吗?我希望我能提供更多帮助,但我担心我不记得确切的问题是什么。而且,遗憾的是,这两个链接都还没有开通,因为我记得它们都非常有用。