ワンタイムトークン機能
同一カンバセーション内での、 画面A→画面B→画面C という画面遷移以外許されない場合、TransitionCheckプラグインを使っても、以下のようなケースが防げない。
(1)トップ画面がら画面Aを表示→画面Bを表示(2)別タブなどで同一セッションでトップページから別カンバセーション開始→画面A→画面B(3)先に表示した画面Bから画面Cを表示
このため、以下の仕組みを検討。
アプリケーションからの呼び出しにより、ランダムな「ワンタイムトークン」を生成。トークンを返すと同時にセッションオブジェクトに保存しておく。 アプリケーションは取得したトークンを、出力するHTMLページに埋め込み、次回リクエストのパラメータとして送信される。 セッションオブジェクトに保存されたトークンと送信されたトークンが一致しなければ画面遷移エラー。
ランダムなトークンの代わりに、処理中のエンティティのキーなどアプリケーションで指定できても良い?
同一カンバセーション内での、 画面A→画面B→画面C という画面遷移以外許されない場合、TransitionCheckプラグインを使っても、以下のようなケースが防げない。
(1)トップ画面がら画面Aを表示→画面Bを表示(2)別タブなどで同一セッションでトップページから別カンバセーション開始→画面A→画面B(3)先に表示した画面Bから画面Cを表示
このため、以下の仕組みを検討。
アプリケーションからの呼び出しにより、ランダムな「ワンタイムトークン」を生成。トークンを返すと同時にセッションオブジェクトに保存しておく。 アプリケーションは取得したトークンを、出力するHTMLページに埋め込み、次回リクエストのパラメータとして送信される。 セッションオブジェクトに保存されたトークンと送信されたトークンが一致しなければ画面遷移エラー。
ランダムなトークンの代わりに、処理中のエンティティのキーなどアプリケーションで指定できても良い?