0

私はDotNetOpenAuthを使用していて、私が呼び出すとき:

this.openIdRelyingParty.CreateRequest(userSuppliedIdentifier, realm, returnToUrl);

上記のエラーが表示されます... ローカルホストで実行している独自の OpenID プロバイダーを使用しています。誰かがそれが何であるか考えていますか? 内部例外は、シーケンスにアイテムが含まれていないなどのことを示しています。

ローカルホストを実行している間違った場所に RP を向けているのではないかと考えていました。RP が XRDS ファイルを指すようにするのは正しいですか?

ありがとうニール

4

1 に答える 1

1

通常、これuserSuppliedIdentifierは OpenID プロバイダーの Web サイトの URL である必要があります。XRDS ファイルに直接ではありません。プロバイダーのホームページは、XRDS ドキュメントの呼び出しを検出し、適切に応答する必要があります。OpenIdProvider[Mvc] サンプルはこれを示しています。

localhost でホストしているため、RP が localhost エンドポイントへの接続を拒否する可能性が非常に高い問題です (本番環境では有効なシナリオではないため、既定ではセキュリティ)。したがって、ローカルで開発している場合は、web.config ファイルで localhost をホワイトリストに登録する必要があります。その方法については、OpenIdRelyingParty[WebForms/Mvc] サンプルの web.config ファイルを参照してください。

于 2013-02-05T21:12:17.987 に答える