2010-11-26 13 views
1

は、私はSetCallbackArgumentといくつかのデータを渡す必要があるが、問題があるいくつかのOpenIDプロバイダそのような http://pip.verisignlabs.com/ http://clickpass.com/public/username クエリ文字列で自分のサイトにリダイレクト2048以上IISはそれを処理できません。 404 - ファイルまたはディレクトリが見つかりません。リダイレクトするエラーの原因が大きすぎます。 この場合、どうすればよいですか?DotNetOpenAuthのOpenIdクエリの長​​さの問題?私はDotnetOpenAuthを使う

答えて

0

OpenID仕様では、大きすぎるOpenID応答では、この問題を回避するのに役立つ301のリダイレクトの代わりにPOST POSTを使用する必要があります。私は、verisignやclickpassがその仕様の一部を無視しているのかどうかはわかりません。しかし、この種の問題を避けるためには、コールバック引数を短くしなければならないのが一般的です。コールバック引数が非常に大きい場合は、コールバック引数が常にクエリ文字列内になければならないため、動作することは期待できません。

通常、ユーザーが戻ったときに大量のデータを使用できるようにするには、データベース、ユーザーセッション、またはCookieに格納し、そのデータへの小さな参照をコールバック引数に格納します。

コールバック引数には、HTTPSがすべて使用されていない場合にはユーザー、第三者、さらには改ざんの可能性があることに注意してください。 DNOAは、コールバック引数の改ざん保護をオプションで提供しますが、機密性は保証しません。

関連する問題