2011-01-13 10 views
8

VS 2010オンラインテンプレートからWCF RESTサービステンプレート40(CS)からサイトを作成しています。それは素晴らしいですが、私はそれを確保する必要があります。WCF REST C#サイトのoAuth認証を設定するには

私はWindows、Linux、iPhoneアプリケーションをサポートする必要がありますので、REST + oAuthは良い解決策のようですが、どこから起動するのかはわかりません。

基本的に私は伝統的な書式認証のような私のデータベースにユーザー名/パスワード(もちろんハッシュ)を解決する必要があります。

答えて

9

OAuthは、ユーザー名/パスワードを送信しません。 OAuthは、HTTP Authヘッダーの内部にOAuthヘッダーを送信します。あなたのサービスはこれを引き出し、それが有効であることをテストする必要があります。

OAuthヘッダーには、暗号化されていない値(timestamp、consumer_key、nonce)が多数含まれています。これらの暗号化されていない値を使用して、暗号化されていないキーを使用して、サービスがこれらの同じ値を暗号化するために使用する秘密鍵を検索し、OAuthヘッダーに含まれている署名と一致することを確認できます。生成された署名がOAuthヘッダーに含まれている署名と一致する場合は、HTTP要求が良好であることがわかります。その後、ヘッダーから消費者キーを取り出し、必要に応じてそれを使用してユーザー名を検索することができます。

my post hereを参照してください。 DotNetOpenAuthのように、このすべてを簡単にするためのライブラリがいくつかあることに注意してください。

+4

私は実際にWCFのOAuthビヘイビアを作成する必要があります。 –

関連する問題