2012-03-31 3 views
4

인증 및 기타 작업을 위해 Facebook Connect를 사용하는 웹 사이트를 개발하려고합니다. 그러나 일반적으로 FBConnect는 웹 사이트의 URL을 앱 등록과 동일한 URL로 지정해야합니다. 내가 내 로컬 컴퓨터에Facebook API 통합 : 다른 URL에서 테스트 하시겠습니까?

localhost:9000 

그래서 모든 페이스 북의 물건을 나누기에 사이트를 테스트입니다

www.example.com 

에서 사이트를 운영하고있어 비록 때문에, 문제가된다. 현재이 문제를 해결하기 위해 실제 서버에서 테스트를 수행하고 있습니다. 그래서 물건을 한 후 내 코드를 테스트 할 때마다, 나는 수행 진짜 사람들이 실제로 웹 사이트에 도달 할 때 떨어져 모든 작은 변화 할 성가신되지는 분명히 문제가 될 것입니다

// local machine 
git commit -a 
git push origin master 

// remote server 
git pull origin master 

, 나는 사람들이 그것을 사용하고있는 동안 계속해서 그것을 깨뜨리지 않고 개발 & 테스트를 계속하고 싶다.

이런 종류의 일을하는 더 좋은 방법이 있습니까? 다른 사람 (FBConnect를 사용한 적이있는 다른 모든 사람)이 전에이 문제에 부딪혔습니다. 테스트 중에 DNS가 www.example.comlocalhost으로 트릭 할 수 있습니까? 그렇다면 Facebook Javascript가 속임수를 사용하여 계속 작동합니까?

답변

2

진짜 대답은 사용자의 로컬 호스트에 있지 않은 준비 서버를 설정하고 FB 지정에서 준비 응용 프로그램을 만드는 것입니다 해당 준비 URL로

저는이 목적을 위해 완전히 별도의 서버를 사용하기 때문에 잘못된 루프 또는 무언가로 인해 제작 응용 프로그램이 손상 될 염려없이 마음껏 개발하고 실험 할 수 있습니다. - 또는 - 하위 도메인 (staging.example.com)을 만들고 응용 프로그램과 동일한 디렉토리 구조를 가진 별도의 루트 폴더에 코드 복제본을 고정하십시오.

예, 사이트의 프로덕션 버전이나 준비 버전을 확인한 다음 이에 따라 적절한 FB 키를 호출하려면 작은 조건부 코드가 필요합니다.

3

이 문제를 해결하려면 시스템의 hosts file을 편집하여 도메인을 localhost로 지정하십시오. 당신의 /etc/hosts 파일 (창 또는 %SystemRoot%\system32\drivers\etc\hosts)이 같은 줄을 추가

127.0.0.1  www.yourdomain.com 

또 다른 접근 방식의 개발 버전을 당신을 위해 페이스 북에 두 번째 응용 프로그램을 만들 수 있으며, 해당 버전의 URL로 localhost를 사용합니다. 배포 할 때 응용 프로그램 ID와 비밀 번호를 프로덕션 버전으로 업데이트하는 것을 잊지 마십시오.

+0

우리는이 목적을 위해 Mac에서 VirtualHostX를 사용합니다. 훌륭하게 작동합니다. http://clickontyler.com/virtualhostx/ – evanmcd

0

내 코드를 개발 (localhost)에서 프로덕션으로 옮길 때이 문제가 발생했습니다. 캔버스 URL로 localhost를 사용하고 안전한 캔버스 URL에 대한 제작 도메인을 사용할 수있었습니다. 그렇게 할 수 있었던 방법