2011-11-17 4 views
1

페이스 북에서 응용 프로그램을 구성하려고하는데 문제가 있습니다.사이트 URL 및 캔버스 URL을 구성하는 방법

내 응용 프로그램은 서블릿 (http://www.mysite.com:port/myproject/servlet)을 통해 작동합니다. 응용 프로그램의 설정에서 나는 다음을 설정합니다 :

Site URL: http://mysite:port/myproject/servlet? 

Canvas URL: http://mysite:port/myproject/servlet? 

이 구성은 하나의 세부 사항을 제외하고는 올바르게 작동합니다. URL "http://apps.facebook.com/myapp"또는 내 홈 페이지 (페이지의 왼쪽에있는 열 응용 프로그램)에서 액세스하면 제대로 작동합니다. 그러나 새 사용자가 응용 프로그램에 액세스하는 경우 "allow"권한 대화 상자 (https://developers.facebook.com/docs/beta/authentication)를 클릭하면 응용 프로그램이 페이스 북 외부의 URL로 리디렉션됩니다 (http : // mysite : port/myproject/servlet?) http://apps.facebook.com/myapp으로 리다이렉트되어야 할 때.

올바른 구성은 무엇입니까?

감사합니다.

답변

1

URL을 통해 사용자는 인증 대화 상자를 볼 수 있습니까? http://apps.facebook.com/myapp 또는 다른 어떤 당신이 원하는해야

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream

YOUR_URL :

은 첫째로 그는 리디렉션해야합니다.

+0

글쎄, redirect_uri에서 http://apps.facebook.com/myapp 값을 전달하려고 시도했지만 브라우저에서 다음 오류가 발생합니다. "X-Frame-Options로 금지 된 디스플레이이기 때문에 문서 표시 거부." http : // mysite : port/myproject/servlet 값을 사용할 때? redirect_uri에서 오류는 발생하지 않지만 잘못된 위치로 리다이렉트가 발생합니다. – vctlzac

+0

체크 아웃 http://stackoverflow.com/questions/6666423/overcoming-display-forbidden-by-x-frame-options, 그들은 그것을 고칠 헤더를 추가하는 것이 좋습니다. redirect_uri를 전혀 생략하면 어떻게됩니까? 기본적으로 http://apps.facebook.com/myapp로 리디렉션되어야합니다. 추신 와일드 추측, 아마도 이것은 대기 포트 (! = 80)를 사용하지 않는 것과 관련이 있습니다. –

+0

내 서블릿에 다음 명령을 추가했습니다 : httpServletResponse.addHeader ("X-FRAME-OPTIONS", "SAMEORIGIN"); 하지만 효과가 없습니다. 다른 방법이 있습니까? – vctlzac

관련 문제