2012-02-09 29 views
3

私はC#でapiを実装しようとしています。実装はうまくいっていますが、私は懸念を抱いていました。認証トークンを保存する最も良い方法は?

私のライブラリがapiに対して権限を与えたとき、私はWebサービスへの結果としてのクエリに使用するauth_tokenを持っています。

トークンはプログラムの実行の間に保持される必要があります(アプリケーションが起動するときに有効かどうかを確認しますが)。

私は基本的に、単にアプリケーションのルートディレクトリに保存されているテキストファイルにトークンを保存します。

これは問題なく動作しますが、これが最良の方法ですか?

ユーザーが平文ファイルに保存されていることを理解しているかどうかわかりません(自分のパソコンにあっても)。

このようにトークンを保存する一般的な方法は何ですか?

+0

値を暗号化してそれをユーザー構成ファイルに保存すると、構成ファイル全体が暗号化され、マシン自体に固有のものになります。このタイプの情報を平易なテキストで保管しないでください。そうでないと「良いアイデア」であれば疑問に思っています。 –

+0

段落はあなたの友人です。それらを使用してください。 – Oded

答えて

0

私はWindows Data Protectionを使用します.C#からの使用方法については、examplesが多数あります。ユーザー固有のキーを使用してデータを暗号化します。ユーザ自身だけがそれを解読することができます。また、サーバーとクライアント間の伝送中にデータを確実に保護してください。

+0

Windowsデータ保護APIは、構成ファイル、データベース、レジストリなどに情報を保存しても使用できます。 –

0

使用し、その後、(おそらくユーザレベルで)知られている設定にAuthTokenプロパティを追加し、プロジェクトのプロパティでプロジェクトの設定ファイルを作成します。

Properties.Settings.Default.AuthToken = userAuthToken; 

をあなたは彼らがそれをしたいと思う場合隠されている、またはuserAuthTokenを暗号化またはエンコードすることはそれほど明白ではありません。

0

apiがasp.netまたはwindows環境で使用されているかどうか(Requestがnullであるかどうかを確認するのに十分です)、最初のケースではCookieを使用し、後者ではレジストリキーに保存します。

関連する問題