2011-08-14 9 views
1

私は人々にとって便利だと思うかなり速いマッシュアップを一緒に投げようとしています。私はTwitterコミュニケーションを利用したいと思います。これはOAuthでの私の最初の経験であり、仕事を完了させるためにTwitterizerライブラリを選択しました。TwitterユーザーデータベースのないOAuthトークンストレージ?

私の質問は、私は、ユーザ情報を格納したり、ユーザーが(迅速なユーティリティのよりであることを意味しています)のアカウントを作成した予定がないという事実から来ています。このように、ユーザーのOAuthアクセストークンと秘密情報を取得すると、OAuthのセキュリティ原則を損なうことなく、(おそらくローカルに)格納する安全な方法を見つけなければなりません。ここで

は、私がこれまで考えてんだよ:

  • ユーザーは、私は後で
  • を取得するには、クッキーの値や店舗を暗号化し、私は彼らのアクセスキーと
  • 秘密を持ってアップするまで、プロセスを経ますから誰かを防ぐ何(どちらかといえば)

    しかし、いくつかの質問/懸念Cookieを使用してユーザーを偽装していますか?

  • 複数のユーザーを同じブラウザで処理する正しい方法は何ですか?私の最初の考えは、クッキーを殺すアプリの「ログアウト」ボタンですが、わかりません。あなたが与えることができるすべての助けを事前に

ありがとう!

+0

ハッシュしたアクセスキーとシークレットの値を取得する方法を計画していますか?それらを暗号化し、それらをクッキーに暗号化して保存することを意味しますか? – userx

+0

はい、正しくありがとう!私は明確にします。 – SeanKilleen

+0

多くの文脈を与えてくれたことは良いことですが、非常に幅広い質問をしていることを理解しておくべきです。機密情報をクッキーに保存するにはどうすればよいですか?いいアイデアですか? –

答えて

0

私はそれを使用していないので、私はOAuthのについて多くを知らないが、あなたは1つのブラウザ上で複数のユーザーを扱うことができる一つの方法は、タイマー機能のいくつかの種類を使用することです。ユーザーがあなたのページに接続するたびに、クッキーは "Valid until"タイムスタンプになります。例えば、30分になります。有効なuntil時間が経過すると、アプリケーションはユーザーに再認証を要求します。

あなたも、ページのアンロードに非常に短いタイムスタンプを設定することでこれを行い、その後、pageloadに長く設定することができます。これは、ユーザーがアプリ内のあるページから別のページに移動すると、タイムアウトが長くなることを意味しますが、アプリを離れると、ログインしたユーザーがいなくても1分以内に次のユーザーが同じブラウザを使用できるようになります

より安全な方法でセッションを使用することができます。たとえば、セッションIDを保持しているセッションをクッキーに設定して、セッションの「有効期限」の値を設定することができます。

はクッキーを操作することができるので、これらのメソッドは間違いfoolprofされていない、タイムスタンプが変更され、セッションがhighjackedことしかし注意してください。

+0

こんにちはロボ - 応答ありがとう!しかし、これは非標準的な動作となっているため、私のアプリを使うたびにユーザーが自分の代わりにつぶやくように、アプリケーションを再認証する必要がないようにすることが目標だと思います。ユーザデータベース)。私はタイマーが私がやっていることを過度にするかもしれないと思うが、セッションオプションをより詳細に調べる。これは公開設定での使用に適しているからだ。たぶん、セッションがそれほど悪くないことを再認可するかもしれない。 – SeanKilleen

0

私は全体として、機密情報のためにクッキーを使用すべきではないと考えていますが、セキュリティは常にバランスのとれた動作です。最終的には、あなたが安全に保管していない情報をあいまいにしようとしています。

トークンの暗号化に加えて、チェックサムを含めることもできます。私は別のクッキーに入れておきます。機密データの整合性を検証して改ざんされていないことを確認するためにサイトが使用できる価値があれば十分です。これは、一方向の暗号化されたハッシュなのかもしれません。

クッキーに有効期限を指定することもできます。多分それを数日、または数週間にとどめてください。

これはもう一度言いますが、一般に機密情報をクッキーに保存することは悪い考えです。