ログインしていなくても、自分のサイトのユーザーの特定のTwitter IDを知る方法を試しています。また、なりすましの可能性を減らす方法をコミュニティの助けを借りて求めています。
主なアイデアは、ユーザーがメインページにアクセスしてフォームに入力し、フォームを送信する方法として[これをツイート]ボタンをクリックすることです。これにより、ユーザーに「このフォームを送信しました」という事前に入力されたメッセージが表示され、ツイートするポップアップが開きます。このポップアップはtwitter.comにあります。ここではoauthは関係していません。ツイートが完了すると、Twitterは作成されたばかりのツイートのIDをWebページのjavascriptコールバック関数に送り返します。このjavascript関数ajaxは、フォームフィールドとツイートIDをサーバー上のハンドラーにPOSTします。
次に、サーバーはユーザー情報を含むそのツイートのTwitter情報を取得し、外部キーを使用してフォーム情報をユーザーに保存します。
私が避けたいのは、なりすましがページにアクセスし、フォームにジャンクを入力し、ツイートIDを含むフォームを別のユーザーからの無関係なツイートに手動でPOSTすることです。
私が使用しているDjangoには、CSRFトークンと呼ばれるものがあり、偽装者がページを読み込まずにPOST呼び出しを実行するのを防ぎます。しかし、これによってページをロードする(そしてcsrfトークンを見る)ユーザーがPOSTを偽造するのを防ぐことができるかどうかはわかりません。
私が避けたい主なことは、人々が自分のものではないTwitterIDを投稿するforに関連付けることです。
これを解決するため、または私の考えに穴を開けるためのいくつかの創造的な方法の提案を楽しみにしています。