2013-07-20 71 views
1

我的网站是单页ajax网站。 所以当我登录时没有回传给服务器。更新时通知我SSO config on the fly?

为了成为登录所使用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,现在应该激活一个有效载荷? 上面的脚本在页面加载时执行,在登录代码之前很久。

想法?

+0

你能指点我如何生成生成的有效载荷的资源吗? – Birowsky

回答

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功能记录为its use in AJAX page changes - 但是从我阅读源代码时,它将应用您提供给现有配置的任何更改。