我编写了一组API,如果您登录了网站(因此您设置了cookie),这些API将被视为您的身份验证。
然后我写了一个Greasemonkey和一个Google Chrome插件,它们对我的api/*
调用进行不同的调用。但是,Ajax不会通过跨域发送cookie标头(请记住,它是在Facebook上启用的插件)。
对我的用户进行身份验证并授权其 api 调用的最佳策略是什么?
GM_xmlhttpRequest
确实执行 AJAX 调用并发送 cookie 标头。因此,您可以简单地调用一个基于访问者cookie返回身份验证状态的网站,返回一个简单的结果并使用它。
例
GM_xmlhttpRequest({
method: "GET",
url: "http://yourwebsite/loggedin.php",
onload: function(resp) {
var conti=resp.responseText;
loggedin = parseInt(conti); //let the webpage return 1 or 0