passport-facebook 是一个验证登录的中间件,在使用过程中,因为要面对国外用户,服务器在国内;在国外的用户想用Facebook验证登录,却因为 墙的原因导致 无法交互,实现登录,如何解决这个问题呢
买一台海外服务器,单独起一个服务做proxy
@MiguelValentine 我也是打算这样做的,也有一个现成的海外服务器,就是 proxy 具体怎么做 一直没有找到好的解决方案
@chenjiyong 改passport-facebook的facebook网址,转到porxy上,porxy全程转发。
@MiguelValentine 嗯 proxy 如何做到 全程转发 指教一下 我自己尝试多次 未成功 急啊
@chenjiyong 你是不会改passport-facebook还是不会做proxy转发。
@MiguelValentine 我是想在 passport-facebook 验证策略 里面把 Facebook 的地址 用 proxy 的地址替换 但是 不知道 这些地址是 get 请求 或者 post 请求 参数是什么 所以 一直没有成功,主要是不知道怎么做 proxy 全程转发,希望指点一下。
@chenjiyong 全程指点就太麻烦了。我给段代码你。你自己开悟= =
//现写的,自信写
var url = require('url')
var urlProxy = {
'/a':'https://graph.facebook.com/me'
}
var proxy = function(req,res){
req.actPath = url.parse(req.url).path;
if(urlProxy[req.actPath]){
var option = url.parse(urlProxy[req.actPath]);
var reqB = https.request(option,function(resB){
var list =[]
resB.on('data',function(trunk){
list.push(truck)
})
resB.on('end',function(){
res.write(Buffer.concat(list))
res.end()
})
})
req.on('data',function(trunk){
reqB.write(trunk);
})
req.on('end',function(){
reqB.end();
})
}else{
res.end();
}
}
@MiguelValentine 非常感谢 我试试哈
马克
先标记一下