我正在使用带有 iframe 的 oauth2。在 app.rb 中的 redirect_uri 方法中,我正在重定向到“/”。但是,这导致我的“/”页面显示在 iframe 中,而不是在顶层。我可以在我的 ruby 代码中解决这个问题吗?或者,我是否需要更改我的 HTML 或 Javascript?
在我的 HTML 中,我有:
<form action="https://XXX.XXXX.com/XXX/authorize" method="get" id="XXXForm" target="XXX">
<input type="hidden" name="client_id" value="my_id"/>
<input type="hidden" name="redirect_uri" value="https://somesite.com/redirect/XXX/"/>
</form>
并且,在 HTML 文件的末尾:
<script type="text/javascript">
$('#XXX').show();
$('#XXXForm').submit();
</script>
而且,在我的 app.rb 中,我有:
get '/redirect/XXX/' do
redirect_to_url = '/login'
if params[:code] then # authorized okay
# other processing, e.g., get token
redirect_to_url = '/'
end
p "redirect #{redirect_to_url}"
redirect to redirect_to_url
end