2011-04-08 24 views
3

OAuthを使用したいくつかのWebサービスがあります。独自のOAuthアプリケーションへのログインの自動化

私はそれらに対していくつかのテストを実行する必要があります。ブラウザを使用せずに自動化された環境で実行することが望ましいです。

(私がテストを使用する問題は、ブラウザを使用しない。

にログインしている、とDotNetOpenAuthを使用して、手動でHttpContext.Currentを設定すると、私は全力を尽くすとリクエストトークンと検証を取得することができように見えますユーザー名とパスワード)。

次の段階は認証トークンを取得することです。残念なことに、どのようにリクエストを作成しても、それを動作させることはできません。現時点で

、WebConsumer(DotNetOpenAuthライブラリ)を使用して、エラーにconsumer.ProcessUserAuthorization()の結果を呼び出す:

DotNetOpenAuth.OAuth.Messages.AuthorizedTokenRequestメッセージ:oauth_verifier

おそらく全体的なアプローチがあります間違っているので、どんな助けや助言も役に立つでしょう。

ありがとうございました。

答えて

1

最後に、クッキーが正しく保存されていないという問題がありました。

ログインページ(ユーザーがユーザー名とパスワードを入力した場所)と承認ページ(ユーザーが第三者と詳細を共有するといいます)の間にCookieが失われていました。 2番目のページでは、ユーザーが自分が誰だったかを確認するために余分なチェックを行っていました(ログインページに書かれたクッキー値を読み取る)。

実際にOAuthの問題ではありませんでした。承認ページでわからないことがありました(とにかく削除されています - c'est la vie)。

私はクッキーのドメインに問題がありました(ドメインが「。」で始まる場合)。私は別のドメインからクッキーをコピーしてしまった

CookieContainer bug?

:この記事は私を助けました。

+0

私は同じことをやろうとしています - ブラウザなしでwebserviceにoauth implの自動化テストコードを追加してください。いくつかのコードを共有することができれば役に立ちます。 – Sushil

1

ウェブサービスのトークンマネージャに常に含まれるテストアクセストークンとアクセストークンシークレットを使用することで、OAuthハンドシェイクと承認の手順全体をスキップすることをお勧めします。次に、トークン・マネージャーにそのトークン・ペアが含まれるようにテストを配線し、アウトバウンド呼び出しを許可するときは常にそのアクセス・トークンを使用します。

関連する問題