2011-09-22 2 views
0

IFRAME (Facebook Apps)의 페이스 북에 로그인하고 싶습니다.페이 스북 (Facebook)의 로고 페이지로 리디렉션해야합니다. 응용 프로그램 IFRAME

로그 오프로 http://apps.facebook.com/oauthtwosample/으로 이동하고 "로그인"링크를 클릭하십시오.

리디렉션 권한 요청 대화 상자 페이지의 응답 헤더에 위치 헤더가 있습니다. 아래

크롬의 스크린 샷 : 당신은 어떤 아이디어가 있다면

http://gyazo.com/0f4988158cb0e0a9f52545374540de96

알려주세요.

자료 :

require 'rubygems' 
require 'sinatra' 
require 'oauth2' 
require 'json' 

@@client = OAuth2::Client.new(
    'xxxxxxxxxxxxx', 
    'xxxxxxxxxxxxxxxxxxxxxxxx', 
    :site => 'https://graph.facebook.com' 
) 

def redirect_uri 
    uri = URI.parse(request.url) 
    uri.path = '/auth/facebook/callback' 
    uri.query = nil 
    uri.to_s 
end 

get '/' do 
    '<a href="/auth/facebook">login</a>' 
end 

post '/' do 
    '<a href="/auth/facebook">login</a>' 
end 

get '/auth/facebook' do 
    redirect @@client.web_server.authorize_url(
    :redirect_uri => redirect_uri, 
    :scope => 'email,offline_access' 
) 
end 

get '/auth/facebook/callback' do 
    access_token = @@client.web_server.get_access_token(
    params[:code], 
    :redirect_uri => redirect_uri 
) 
    user = JSON.parse(access_token.get('/me')) 
    user.inspect 
end 

답변

1

이는 당신이 easly 연결 대상 = "_ 최고"를 추가하여 해결할 수있는 허가없이 사용자 redirting이다.

<a href="url" target="_top">login</a> 
+0

IFRAME에 로그인하고 싶습니다. Facebook 앱에 대한 비정상적인 방법입니까? – komagata

+0

ok eass.ly 예를 들어 apps.facebook.com/oauthtwosample/{controller}/{action}처럼 설정할 수 있습니다. 예를 들어, mine은 apps.facebook.com/oauthtwosample/user/callback입니다. – Xenon

+0

시도했습니다 (/ auth/facebook/콜백 변경). http://apps.facebook.com/oauthtwosample/auth/facebook/callback)하지만 같은 결과가 있습니다. (http://gyazo.com/e1a20e21fe0d40f3bf0c41b600cffb06) – komagata

관련 문제