TwitterのAPI認証で何をアプリ側で保存するか。

ツイッターと連携したウェブアプリを5〜6年ぶりに作った。その際、どういった情報をアプリ側でDBに保存するかで少し悩んだ。昔ツイッター連携のウェブアプリを開発した際は次の項目を保存していた(うろ覚え)

アプリ側の情報
・アプリのコンシューマーキーペア

認証ユーザーの情報
・ニックネーム
・アクセストークン(とシークレット)
・email

今回は次の情報を持つようにした。

アプリ側の情報
・コンシューマーキーペア

認証ユーザーの情報
・ニックネーム
ツイッターID (id_str)

昔実装したアプリでは、アクセストークンやメールアドレスを保持していたので、それらの情報が漏洩した場合悪用されるリスクがあった。その点を踏まえて今回は、保持したくない情報はDBに記録せず、セッションで一時的に保持する仕様にした。
ちなみに、メールアドレスの取得はツイッター上でアプリ登録する際、個別に申請や設定が必要になっていた気がする。