답변:
편집 : 2012 년 2 월 15 일 로컬 호스트 웹 사이트에 FB 인증을 사용하는 방법입니다.
두 번째 Facebook 앱을 설정하는 것이 더 확장 가능하고 편리하다는 것을 알았습니다. MyApp을 구축하는 경우 MyApp-dev라는 두 번째 제품을 만듭니다.
Website
2012 년 2 월 15 일) '응용 프로그램이 Facebook과 통합되는 방법 선택'아래 의 확인란을 클릭합니다 (최신 Facebook 버전의 경우 설정> 기본> 플랫폼 추가-웹 사이트 선택에서 찾을 수 있음).Rails.env == 'development'|| 인 경우 Rails.env == '테스트' Rails.application.config.middleware.use OmniAuth :: Builder는 제공자 : 페이스 북, 'DEV_APP_ID', 'DEV_APP_SECRET' 종료 그밖에 # 생산 Rails.application.config.middleware.use OmniAuth :: Builder는 제공 업체 : facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' 종료 종료
일단 설정되면 동료와 다른 컴퓨터에는 추가 설정이 없으므로이 방법을 선호합니다.
물론 app_domain에 URL localhost ( "http"없이)를 추가 한 다음 site_url http://localhost
(http로) 을 추가하면됩니다.
최신 정보
Facebook은 이제 상황을 조금 변경합니다. 앱 설정으로 이동하고 사이트 URL http: //localhost
에서 앱 도메인을 추가 하고 비워 두십시오.
여기 내 구성이 있으며 PHP API에서 제대로 작동합니다.
앱 도메인
http://localhost
사이트 URL
http://localhost:8082/
참고 : 2012 년 현재 Facebook에서는 "localhost"를 반환 URL로 등록 할 수 있습니다. 다른 제공 업체 (예 : Microsoft)에 대해서도 유사한 해결 방법이 필요할 수 있습니다.
Facebook에 등록 된 실제 도메인 이름 (예 : my.really.own.domain.com)이 필요한 경우 로컬로이 도메인에 대한 요청을 컴퓨터로 리디렉션 할 수 있습니다. OS에서 가장 쉬운 방법은 도메인을 127.0.0.1로 매핑하기 위해 "호스트"파일을 변경하는 것입니다 ( http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA 및 https : / 참조) . /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file ).
나는 보통 Fiddler를 사용하여 나를 위해 (로컬 IIS가있는 Windows에서) http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp의 샘플을 참조하십시오 .
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
접근 방식의 호스트 파일 접근 방식은 들어오는 Urls가 localhost / 127.0.0.1이어야하므로 Visual Studio Development Server에서는 작동하지 않습니다. 호스트를 재정의하기 위해 (또는 IIS Express와 함께) 작업해야하는 경우 -IIS7 Express에서 Fiddler 사용
방금 해결 방법을 발견했습니다 . http://localtunnel.com 을 사용하여 로컬 컴퓨터에 액세스 할 수 있습니다 . 링크가 임시 도메인을 가리 키도록 앱 코드 / html에 사용 된 일부 URL을 (일시적으로) 변경해야하지만 최소한 페이스 북이 컴퓨터에 도달 할 수 있습니다.
앱의 기본 설정 ( https://developers.facebook.com/apps )에서 설정-> 기본-> 앱과 Facebook의 통합 방법 선택 ...
"사이트 URL :"및 "모바일 사이트 URL :"을 사용하여 프로덕션 및 개발 URL을 각각 보유하십시오. 두 사이트 모두 인증이 가능합니다. 인증을 위해 Facebook을 사용하고 있으므로 모바일 사이트 리디렉션 기능이 필요하지 않습니다. 인증을 테스트하는 동안 일반적으로 "모바일 사이트 URL :"을 "localhost : 12345"사이트로 변경 한 다음 완료되면 다시 정상으로 설정합니다.
있습니다! 내 솔루션은 앱을 만들 때 작동하지만 웹 사이트에서 페이스 북 인증을 사용하려고합니다. FB 페이지에 통합 된 앱을 만들려면 아래의이 솔루션이 필요하지 않습니다.
문제는 앱의 페이스 북 구성 페이지에서 "localhost"를 도메인으로 넣을 수 없다는 것입니다. 보안 이유?
OSX / Linux etc / hosts에서 호스트 파일로 이동하여 다음 행을 추가해야합니다. 127.0.0.1 dev.yourdomain.com
원하는 것을 원하는 도메인. localhost dev.yourdomain.com (적어도 osx 스노우 레오파드에서는 작동하지 않음)을 추가하는 것이 실수입니다.
그런 다음 dns 캐시를 지워야합니다. OSX의 경우 : 터미널에 dscacheutil -flushcache 를 입력 하십시오. 마지막으로 온라인 페이스 북 개발자 웹 사이트로 돌아가서 앱의 구성 페이지에서 "dev.yourdomain.com"도메인을 추가 할 수 있습니다.
Mamp, Easyphp 등의 프로그램을 사용하는 경우 Apache 포트가 80인지 확인하십시오.
이 솔루션에는 호스트 파일도 있기 때문에 Windows에서 작동합니다. 그럼에도 불구하고 Windows 7에서 더 이상이 파일을 사용하지 않는다는 것을 기억하지만 Windows가 호스트 파일을 사용하도록 강제하는 방법을 찾으면이 트릭이 작동합니다.
Facebook 제품 'facebook login'을 선택하고 client OAuth Login, 'Web OAuth Login'및 'Embedded Browser OAuth Login'을 활성화해야 localhost url을 제공하더라도 작동합니다.
이것은 HTTPS 요구 사항 이후에도 2018 년 6 월에 작동합니다. 테스트 앱에 https가 필요하지 않은 것 같습니다.
테스트 앱을 만듭니다 : https://developers.facebook.com/docs/apps/test-apps/
그런 다음 테스트 앱 내에서이 비디오의 간단한 단계를 따르십시오. https://www.youtube.com/watch?v=7DuRvf7Jtkg
Visual Studio 개발 웹 서버를 사용하여 응용 프로그램을 개발할 수 있어야한다고 생각합니다. http://www.facebook.com/developers/ 에서 새 FaceBook 응용 프로그램을 시작 하십시오 . 그런 다음 사이트 URL 및 캔버스 URL에 대한 설정을 웹 사이트의 실행중인 인스턴스로 설정하십시오 (예 : http : // localhost : 1062 /).
FaceBook을 시작할 때 도움이되는 몇 가지 링크는 다음과 같습니다.
도움이 되었기를 바랍니다.
이 시도 ---
https://www.facebook.com/help/community/question/?id=589302607826562
1-앱을 클릭 한 다음 앱을 선택하십시오.
2-화면 왼쪽의 설정 버튼을 클릭하십시오.
3-기본 설정에서 설정 구성 아래에있는 플랫폼 추가 버튼을 클릭하십시오.
4-플랫폼 대화 상자에서 웹 사이트를 선택하십시오.
5-URL을 입력하십시오 (localhost는 여기서 작동합니다).
6-앱 도메인 텍스트 입력에서 URL의 도메인과 일치하는 도메인을 추가하십시오.
7-설정을 저장하십시오.
앱을 다음과 같이 등록했다고 가정합니다.
app.domain.com
다음을 추가하여 / etc / hosts 파일을 수정하면됩니다.
127.0.0.1 dev01.app.domain.com
그런 다음 아파치 구성을 수정하십시오.
ServerName dev01.app.domain.com
아파치를 다시 시작하십시오.
일부 호출에서 URL을 XML 매개 변수로 사용하려면 URL을 변수에 넣어야합니다.
<fb:login-button registration-url="http://<?=$URL?>/register" />
가장 많이 투표 된 답변에 대해 언급 할만한 충분한 정보가 없지만 적어도 레일 환경 (4 회 실행)에서는 rails가 http://localhost:3000
아닌 http://www.localhost:3000
입니다. 로 변경하면 http://localhost:3000
정상적으로 작동합니다. 호스트 파일을 편집 할 필요가 없습니다.
최신 업데이트 : 개발시 테스트 할 경우 URL을 제공 할 필요가 없습니다. 필드를 비워 둘 수 있습니다. 앱이 개발 모드인지 확인하십시오. 라이브 상태를 해제하지 않은 경우.
사이트 URL, 앱 도메인 또는 유효한 리디렉션 oauth uri를 제공 할 필요가 없습니다.