我*重定向到Facebook应用程序中的徽标页IFRAME
问题描述:
我想在IFRAME(Facebook应用程序)中登录Facebook。我*重定向到Facebook应用程序中的徽标页IFRAME
去http://apps.facebook.com/oauthtwosample/注销并点击“登录”链接。
当重定向权限请求对话框页面时,响应标题具有位置标题。
Chrome的截图如下:
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
答
这是因为redirting用户未经允许,你可以伊斯利 通过添加目标=“_顶”联系起来解决这个问题的。
<a href="url" target="_top">login</a>
我想登录到IFRAME。 Facebook应用程序的这种不正常的方式? – komagata
好吧,你可以轻易设置它像apps.facebook.com/oauthtwosample/{controller}/{action}例如我的是apps.facebook.com/oauthtwosample/user/callback – Xenon
我试过了(/ auth/facebook/callback change到http://apps.facebook.com/oauthtwosample/auth/facebook/callback),但我有同样的结果。 (http://gyazo.com/e1a20e21fe0d40f3bf0c41b600cffb06) – komagata