我正在测试以下示例,通过登录并重定向到身份验证屏幕来验证用户 - http://jsfiddle.net/JMPerez/j1sqq4g0/
此示例使用带有以下脚本的回调页面:
(function() {
var hash = {};
window.location.hash.replace(/^#\/?/, '').split('&').forEach(function(kv) {
var spl = kv.indexOf('=');
if (spl != -1) {
hash[kv.substring(0, spl)] = decodeURIComponent(kv.substring(spl+1));
}
});
console.log('initial hash', hash);
if (hash.access_token) {
window.opener.postMessage(
JSON.stringify({
type:'access_token',
access_token: hash.access_token,
expires_in: hash.expires_in || 0
}),
'http://fiddle.jshell.net'
);
window.close();
}
})();
在手机上试用时,它会在Safari中打开一个新标签。是否可以检查应用程序是否安装在iOS上并通过它登录?将使这个过程更快。
正如在这里的一个问题中看到的那样,它似乎已经解决但却无法理解触发它的原因是什么? - https://github.com/spotify/web-api/issues/718
谢谢!
答案 0 :(得分:1)
总结一下这里是一个汇总的答案: