与localhost的SoundCloud身份验证问题

时间:2015-07-28 05:19:45

标签: javascript authentication oauth-2.0 soundcloud

Javascript和SC API初学者在这里。我在API页面上关注了这个非常基本的示例:https://developers.soundcloud.com/docs/api/sdks#authentication

我之前已经意识到这个问题,但是我花了好几个小时尝试他们的(可能过时的?)解决方案,但没有一个能为我工作。

我的问题是弹出窗口(callback.html)没有关闭。有一个错误:

  

Uncaught SecurityError:阻止带有原点的帧(假设前面有一个' http://')127.0.0.1来访问一个带有原点" null"的帧。请求访问的帧具有" http"的协议,被访问的帧具有"文件"的协议。协议必须匹配

我认为这里有2个问题我是否正确?

  
      
  1. 在callback.html文件中,window.opener.SC.connectCallback返回null,因此setTimeout()函数无法正常工作
  2.   
  3. 无法以这种方式在本地服务器上托管callback.html文件
  4.   

那么我在哪里可以托管callback.html文件进行开发? 我在我的本地Web服务器上(在文件夹C:\ inetpub \ wwwroot中)托管了callback.html文件并注册了我的应用程序。

我已尝试将redirect_uri设置为' 127.0.0.1//callback.html'和' localhost / callback.html',但两者都会导致同样的问题。假设有一个' http://'在两者面前(SO赢了,让我发布超过2个链接)。

这是我的代码:

SC.initialize({
    client_id: "xxxxxxxxxxxxxxxxxx",
    redirect_uri: "http://localhost/callback.html"
});
$(document).ready(function(){
    // initiate authentication popup
    $('#connectImg').on('click',function(){
         SC.connect(function() {
        // This gets the authenticated user's username
            SC.get('/me', function(me) { 
                alert('Hello, ' + me.username);
                console.log('Hello, ' + me.username);
            });
        });
    });
}); 

0 个答案:

没有答案