before_filterを使用してsigned_request
、ユーザーがキャンバスアプリを参照したときにFacebookが生成するクエリ文字列を検出しています。
次に、session[:canvas] = true
ユーザーがキャンバスにいるのか、ネイティブブラウザーアプリにいるのかに基づいて、異なるアプリロジックが必要な場合に、その設定とテストを行います。問題は、ユーザーが何らかの理由でキャンバスを離れてブラウザーベースのアプリに移動したsession[:canvas]
場合でも、変数がtrueに設定されていることです。
キャンバスとネイティブブラウザアプリの違いを検出するためのより良い方法はありますか?