没有足够的数据错误:在进行Disqus SSO时

时间:2015-05-18 16:53:01

标签: javascript jquery disqus

我正在尝试将Disqus SSO集成到我的网站中。

var DISQUS_SECRET = "xyz";
var DISQUS_PUBLIC = "abc";
var disqus_developer = 1;

function disqusSignon() {
    var disqusData = {
        id: "{{ user.id }}",
        username: "{{ user.username }}",
        email: "{{ user.email }}"
    };

    var disqusStr = JSON.stringify(disqusData);
    var timestamp = Math.round(+new Date() / 1000);
    var message = window.btoa(disqusStr);
    var result = CryptoJS.HmacSHA1(message + " " + timestamp, DISQUS_SECRET);
    var hexsig = CryptoJS.enc.Hex.stringify(result);

    return {
        pubKey: DISQUS_PUBLIC,
        auth: message + " " + hexsig + " " + timestamp
    };
}

var data = disqusSignon();

function disqus_config(){
    this.callbacks.afterRender = [function() {
        this.page.remote_auth_s3 = data.auth;
        this.page.api_key = data.pubKey;
    }];
}

var disqus_config = function() {
    this.page.remote_auth_s3 = data.auth;
    this.page.api_key = data.pubKey;
}

var disqus_shortname = 'askpopulo';
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();

一切都很好,生成的有效负载也在Disqus SSO调试工具上正确验证。用户仍未使用SSO登录。

此消息也会在javascript控制台上打印出来:

  

看起来有一个问题:错误:没有足够的数据{stack:(...),message:“数据不够”}消息:“数据不够”堆栈:( ...)获取堆栈: function(){[native code]} arguments:nullcaller:nulllength:0name:“”prototype:StackTraceGetter__proto __:function Empty(){} set stack:function(){[native code]} arguments:nullcaller:nulllength:1name:“ “prototype:StackTraceSetter__proto __:function Empty(){} proto :dr.DiscoveryApp.a.Model.extend.onComplete @ discovery.bundle.fce1a5edaced8a1898cef54c2d9fb2bf.js:2(匿名函数)@ common.bundle。 91cd39decece4de79b12c1d2e99a09c8.js:9(匿名功能)@ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9P @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:90 @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9E @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名函数)@ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名函数)@ common.bundle.91cd39decece4de79b12c1d2e99a09c 8.js:9p @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9o @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9c @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名函数)@ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名函数)@ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9p @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9o @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9c @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名函数)@common。 bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名函数)@ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9p @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.j

1 个答案:

答案 0 :(得分:2)

我认为你应该接受@Sainaen的评论作为回答。我只是详细说明,因为到目前为止没有其他人这样做过。引用为Disqus Bug Report

  

我们与我们的团队进行了核实,这些错误不是任何结果   问题所以你可以放心地忽略它们。但是,正在考虑   隐藏它们,这样它们就不会引起任何烦恼。谢谢你的举报!

我已经验证并且错误仍然存​​在但是它们不会以任何方式影响系统的工作。这更令人烦恼而不是错误。不过,它应该是固定的,因为Disqus太大了,不能忽视这些愚蠢的警告。我建议将新的堆栈跟踪以及您认为重要的任何其他详细信息邮寄给他们。即使我会邮寄他们,让我们希望它被删除。如果没有,那么对此视而不见。希望它有所帮助。