2011-07-01 9 views
6

SOと同様に、私は多くのOpen IDプロバイダに依存してユーザー認証を提供するつもりで、自分の認証方法を使用します。私はまだ開発段階にあり、現在の実際のOpenIDプロバイダでは動作したくないのですが、実際のユーザをエミュレートするためにどのようなアプローチをWebサイト(TDDなし)でユーザとその活動をテストするために使うことができますか実際にオープンIDプロバイダを使用します。テスト目的のための偽のオープンIDプロバイダ

現在のユーザは単なるテスト目的とユニットテストコードのため、実際のOpenIDサーバへの自動転送は必要ありません(本番モードに移行する場合)。

私は、実際のOpen IDプロバイダへの移行が将来的にスムーズになり、すでに自分のロジックに影響を与えないように、ユーザーを扱うために高度に抽象化された方法を提供するユーザーサービス層が必要だと思います書かれたコード。私は単に様々な組織を持つユーザーとしての私のテストIDを登録するC#。ネット4、ASP.Net MVC 3、Ninject

答えて

6

DotNetOpenAuthは、OpenIDのサーバー部分とクライアント部分の両方を提供し、ローカルテスト用に独自のOpenIDプロバイダーを実行するために使用できます。

  • あなたのサイトのメンバーにこのライブラリに含まプロバイダをサポートした、独自のOpenIDを与えます。

  • サンプルの信頼当事者および提供者のWebサイトでは、その方法を説明しています。

+2

特に、dotnetopenauth-toolsのダウンロードには、RPの開発/テストに最適な「OpenIdOfflineProvider」が含まれています。 –

3

を使用して

。私はそれに間違って何かを見ることはありません。私は様々な反応とその違いを見ています。

openidコンシューマのコード作成が非常に簡単です。ただ応答のシーケンスを理解する必要があります。コーディングを開始する前に、理解を助けるためにUMLシーケンス図を描きましょう。 openIdを偽造する必要はありません。それ以外の場合は、自分でopenidサーバを起動してください。

1

あなたのサービスでは、OpenIDのに依存してはいけません。 OpenIDプラグを認証モジュールに差し込んで、ローカルユーザプリンシパルを提供してください。開発中に、authモジュールに、あなたが望むパーミッションを持つ偽のユーザプリンシパルを返させることができます。

ベータ環境では、OpenIDを有効にして、任意のOpenIDプロバイダのテストアカウントを使用できます。開発段階でログインすると、すべての開発者が遅くなります。認証のバグやインターネットの停止は、すべての人の生産性を低下させます。

+0

+1 'auth'モジュールはどこにありますか?それはDotNetOpenAuthに属していますか? –

関連する問題