そのため、Rails アプリで Omniauth を使用して OAuth をセットアップすると、次のような意図しない動作に遭遇しました。
ユーザーが以前に OAuth プロバイダー (Facebook など) に対して認証されている場合、資格情報はブラウザーのどこかに保存されます。別のユーザーが同じブラウザーで OAuth 要求を作成しようとすると、最初のユーザーから保存されたデータが使用されます!
OAuth リクエストで保存された資格情報を使用せず、毎回ユーザーにアプリを承認させる方法はありますか?
以下のコードを使用してコントローラーにヘッダーを追加しようとしましたno-cache
が、もちろん何もしませんでした。要求はプロバイダーの OAuth エンドポイントに対するものであり、アプリの内部のどこにもないためです。
before_filter :set_cache_buster
def set_cache_buster
p "CACHE BBBBUSTED!"
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0,must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
request.headers["Cache-Control"] = "no-cache, no-store, max-age=0,must-revalidate"
request.headers["Pragma"] = "no-cache"
request.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end
何か案は?