1

我的网站是一个单页 ajax 网站。所以当我登录时没有回发到服务器。

为了使用 Disqus 登录,我应该使用以下代码:

    var disqus_config = function () {
        // The generated payload which authenticates users with Disqus
        this.page.remote_auth_s3 = "generated payload";
        this.page.api_key = "mypublic key";

        // This adds the custom login/logout functionality
        this.sso = {
            ... urls and such ..
        };
    };

我可以在我的登录服务中生成 SSO 有效负载并将其传递给客户端。但是我如何通知 Disqus 现在有一个负载应该被激活?上面的脚本在页面加载时执行,早在登录代码之前。

想法?

4

1 回答 1

2

您可以使用该DISQUS.reset功能重新加载 Disqus 嵌入,并更新配置的特定元素,在您的情况下,用户登录后新的 SSO 有效负载:

var disqus_sso_payload_update = function() {
  this.page.remote_auth_s3 = "new payload";
}

DISQUS.reset({reload:true,
              config:disqus_sso_payload_update});

reset函数已记录在 AJAX 页面更改中的使用- 但根据我对源代码的阅读,它将应用您提供的任何更改到现有配置。

于 2013-09-05T01:22:07.993 回答