https://github.com/sinatra/sinatra/issues/596について、sinatra バグと誤って診断しました。
次の問題があります。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 から提供されたコードを取得しています。Soundcloud のトークン交換に ping を実行して新しいアクセス トークンを取得し、それを保存して、私のホームページ '/' にリダイレクトします。しかし、ブラウザはリダイレクト時にハッシュ パラメータを消去しないため、「http://myapp.com/#access_token=qwerty」にリダイレクトされます。そして、それはただひどいです。この問題の回避策はありますか、それともサウンドクラウドの「バグ」ですか? (何かを壊すわけではないので、厳密にはバグではありません。そこにハッシュ パラメータがあるのは単純に醜いだけです)。