我在orame中使用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
答案 0 :(得分:0)
看看https://stackoverflow.com/a/168488/335847,看看是否有帮助。
如果您要使用javascript,那么我会:
halt
以便不返回正文(除非您愿意,但仍然可以使用halt
)request.xhr?
window
。