2011-09-09 11 views
2

私はWebアプリケーションを開発中です。異なるサービスから認証するためにoauthを使用します。 これらのトークンと秘密をデータベースに直接確保するリスクはありませんか。それとも暗号化すべきですか? Oauth TokenとSecretのセキュリティパターン

はOAuthのトーク​​ンと

答えて

4

このスレッドは、あなたの質問のすべてが答えます

Securly Storing OpenID identifiers and OAuth tokens

を本質的には、以下の一つまたは他の方法でそれらの間で依存しています:

  • 秘密コンシューマーキー
  • 消費者
  • アクセストークン
  • アクセストークンecret

コンシューマキー/シークレットも危険にさらされていない限り、アクセストークン/シークレットを暗号化する必要はありません。アクセストークンは、それを生成したコンシューマキー/シークレットと組み合わせてのみ使用できます。

-1

私はあなたが典型的な「サービスプロバイダー」「消費者」と「ユーザー」設定の話をしていると仮定している秘密の保存のための一般的なセキュリティパターンは何ですか? そうであれば、セッションとクッキーはトークンを保存するのに十分ですが、問題は消費者(私の理解するようにあなたのクライアント)があなたではなく保存する必要があるということです。あなたのAPIへの呼び出しの範囲で利用可能なセッション/クッキーはありますか?トークンはセッションやクッキーに保存されている場合はいずれの場合も

、彼らは「一時的な」キーになり、ユーザーは有効期限が切れるとき、再認証する必要があります。しかし、oAuth仕様に関しては、ユーザが再認証を気にしない限り、何も問題はありません。

また、トークンは特定のサービスとユーザーに関連付けられ、IPアドレスやデバイスのUUIDには関連付けられないことにも注意してください。それらは、発行されたアプリケーションに結びついているため、異なるAPIと秘密鍵では使用できませんでした。

このようにして、ユーザーはアプリケーションごとに承認を取り消すことができ、すべてのアプリは異なるアクセス許可セット(読み取り専用アクセスなど)を持つことができます。だからあなたの答えはあなたがそれらを暗号化する必要はありません、とにかく(もしあなたがユーザーである)それらをplaintextで必要とします。

+0

私はサービスプロバイダーではありません。私はfacebookのようなサービスを使用するアプリケーションを開発しており、ユーザーがそれを認証するとトークンをデータベースに保存したい。 –

+1

奇妙な。この回答は、http://stackoverflow.com/questions/3284260/oauth-storing-access-token-and-secretから半分コピーされ、質問された質問にはほとんど意味がありません。 –

関連する問題