【发布时间】:2013-01-13 19:55:19
【问题描述】:
关于https://github.com/sinatra/sinatra/issues/596,我错误地诊断为sinatra bug。
我遇到以下问题:我正在使用 Soundcloud OAuth 工作流程在我的项目中实现单点登录。为此,我正在使用“soundcloud” gem。因此,在被重定向到 soundcloud 的登录/授权表单并按下“连接”后,我被重定向回我指定为重定向 url 的应用程序中的 URL……但是一些哈希参数落后了!因此,假设我没有被重定向到“http://myapp.com/connect?code=123”,而是被重定向到“http://myapp.com/connect?code=123#access_token=qwerty” ”。由于散列参数不是 HTTP 协议的一部分,它确实对服务器有次要影响,但在客户端上,bleepin 散列参数并没有消失!基本上,在我的重定向端点上,我正在获取 soundcloud 提供的代码,ping Soundcloud 的令牌交换以获得新的访问令牌,将其存储并重定向到我的主页“/”。但是浏览器不会清除重定向时的哈希参数,这意味着我被重定向到“http://myapp.com/#access_token=qwerty”。这很糟糕。是否有解决此问题的方法,或者这是 soundcloud“错误”? (不完全是一个错误,因为它不会破坏任何东西,在那里有那些散列参数简直丑陋)。
【问题讨论】:
标签: ruby oauth sinatra oauth-2.0 soundcloud