CNode

passport-facebook 中如何解决 国内服务器 不能和Facebook交互的问题

问答
Cchenjiyong发布于11 年前最后回复10 年前10 回复17276 浏览0 收藏

passport-facebook 是一个验证登录的中间件,在使用过程中,因为要面对国外用户,服务器在国内;在国外的用户想用Facebook验证登录,却因为 墙的原因导致 无法交互,实现登录,如何解决这个问题呢

查看回复

回复 (10)

M
MiguelValentine#2·11 年前

买一台海外服务器,单独起一个服务做proxy

C
chenjiyong#3·11 年前
引用 MiguelValentine买一台海外服务器,单独起一个服务做proxy

@MiguelValentine 我也是打算这样做的,也有一个现成的海外服务器,就是 proxy 具体怎么做 一直没有找到好的解决方案

C
chenjiyong#4·11 年前
引用 MiguelValentine@chenjiyong 改passport facebook的facebook网址,转到porxy上,porxy全程转发。

@MiguelValentine 嗯 proxy 如何做到 全程转发 指教一下 我自己尝试多次 未成功 急啊

M
MiguelValentine#5·11 年前
引用 chenjiyong@MiguelValentine 嗯 proxy 如何做到 全程转发 指教一下 我自己尝试多次 未成功 急啊

@chenjiyong 你是不会改passport-facebook还是不会做proxy转发。

C
chenjiyong#6·11 年前
引用 MiguelValentine@chenjiyong 你是不会改passport facebook还是不会做proxy转发。

@MiguelValentine Screen Shot 2015-12-03 at 10.27.34 AM.png 我是想在 passport-facebook 验证策略 里面把 Facebook 的地址 用 proxy 的地址替换 但是 不知道 这些地址是 get 请求 或者 post 请求 参数是什么 所以 一直没有成功,主要是不知道怎么做 proxy 全程转发,希望指点一下。

M
MiguelValentine#7·11 年前
引用 chenjiyong@MiguelValentine 我是想在 passport facebook 验证策略 里面把 Facebook 的地址 用 proxy 的地址替换 但是 不知道 这些地址是 get 请求 ...

@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();
	}
}
A
andyhu#9·10 年前

马克

D
dogsmall#10·10 年前

先标记一下

参与回复
登录后即可参与回复。登录