0

我正在尝试OAuth在 Spotify 应用程序中完成身份验证。默认情况下,window.open被阻止,我不确定是否有任何方法可以解决这个问题。所以,我想知道处理这个问题的最佳方法是什么。我希望能够执行以下操作:1)将用户重定向到身份验证链接 2)一旦他们通过身份验证,我希望能够得到通知以处理返回 URL 并从中提取访问令牌。

几个选项,我正在考虑:1) IFrame 2) $.ajax() -- problem is, this doesn't seem to load all javascript/css files from the auth url properly.

有什么建议么?

4

1 回答 1

0

我相信auth.showAuthenticationDialog()API 正是您所追求的。它会弹出一个对话框,显示给定的 URL,然后在调用返回 URL 时返回参数。文档在这里

var sp = getSpotifyApi(1);
var auth = sp.require('sp://import/scripts/api/auth');

auth.showAuthenticationDialog('http://www.last.fm/api/auth/?api_key=LAST_FM_API_KEY&cb=sp://my_app_name', 'sp://my_app_name', {

    onSuccess : function(response) {
        // Response will be something like 'sp://my_app_name?token=xxxxxxx'
        console.log("Success! Here's the response URL: " + response);
    },

    onFailure : function(error) {
        console.log("Authentication failed with error: " + error);
    },

    onComplete : function() { }
});
于 2012-05-17T08:08:20.610 回答