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

ank*_*kit 37 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);
})();
Run Code Online (Sandbox Code Playgroud)

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

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

看起来有一个问题:错误:数据不够{stack:(...),message:"数据不够"}消息:"数据不够"堆栈:(...)获取堆栈:function() {[native code]}参数: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.91cd39decece4de79b12c1d2e99a09c8.js:9p @ common.b undle.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:90 @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9C @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名功能)@ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9(匿名函数)@ common.bundle.91cd39decece4de79b12c1d2e99a09c8.js:9p @ common.bundle.91cd39decece4de79b12c1d2e99a09c8.j

200*_*0ok 2

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

我们与我们的团队核实过,这些错误并不是任何问题造成的,因此您可以放心地忽略它们。但是,我们正在考虑隐藏它们,以免造成任何烦恼。感谢您的举报!

我已经验证,错误仍然存​​在,但是它们不会以任何方式影响系统的工作。这与其说是错误,不如说是一种烦恼。不过,它应该得到修复,因为 Disqus 太大了,无法忽略这些愚蠢的警告。我建议是将新的堆栈跟踪以及您认为重要的任何其他详细信息邮寄给他们。即使我会邮寄它们,但愿它能被删除。如果没有,那就对此视而不见。希望能帮助到你。