Securityコンポーネントのトークン

securityコンポーネントは自動でトークンの発行とチェックをしてくれる?ようですが、
1つのアクション内で 表示 → 確認 → 完了 まですると、

表示のときはトークンが$form->end();でセットされているんですが、

確認画面になると生成されていません。。。。

すごく基本的なことで悩んでいたかもしれません。あまりソースを追いかけていないのもありますし。。。

とりあえず、ランダムなIDを発行してくれるという String::uuid() を使ってトークンをつくりました。
確認画面の表示の時に、$this->set('token',String::uuid());
あとはそれを完了時にクッキーにいれて、再度送信されたときに既にあるかをチェックすれば2重送信は一応防げるのではないでしょうか。。。