1

私はasp.netに比較的慣れていないので、質問がばかげているように聞こえたら申し訳ありません。

OpenId カスタム サーバー (つまり、DotNetOpenAuth ライブラリには含まれていません) にログインできる Asp.net Web アプリケーションを構築する必要があります。vs2010 と .net Framework 4.0 を使用しています。

何度も検索した後、説明されているこれらの投稿を見つけました。

http://blogs.msdn.com/b/webdev/archive/2012/08/23/plugging-custom-oauth-openid-providers.aspx

ASP.NET MVC4 で一意の識別子 URL を持つ OpenID プロバイダーを使用する方法

http://blogs.msdn.com/b/webdev/archive/2012/08/15/oauth-openid-support-for-webforms-mvc-and-webpages.aspx

それらはすべて、MVC と、ライブラリに組み込まれているクライアントを使用できるようにするために、新しいプロバイダーを登録する必要がある /App_Start/AuthConfig.cs というディレクトリ/ファイルを参照します。

他の検索から、このディレクトリは Asp.net Web アプリケーションでは利用できないことがわかりました。

Asp.net Web アプリケーションで同じ結果を達成する方法/回避策はありますか?

私のサーバーにそのようなカスタムクライアントを実装する方法についての提案/リンクはありますか?

ありがとうございます


ご協力いただきありがとうございます。あなたのコメントの後、私はプロバイダーに戻って説明を求めましたが、これまでのところ、そのリンクを提供する以上のことはできません. そこで、Java で動作するように管理しようとしましたが、openid4java ライブラリと次のコードを使用して実行しました。

URL u = new URL("https://logint2.idm.toon.sul.t-online.de/gcp-web/login/10000112/");

Identifier i = new MyIdentifier(); 
*//myIdentifier is my implementation of interface openid4java.discovery.Identifier and returns* "http://specs.openid.net/auth/2.0/identifier_select"

DiscoveryInformation discovered = new DiscoveryInformation(u,i);

AuthRequest authReq = manager.authenticate(discovered, returnToUrl);

このコード(および応答を管理するための他のコード)を使用すると、動作します。

私は今、私の dot.net ソリューションに同じことを適用しようとしています。

DotnethOpenauth をこのエンドポイントで動作させるためのコードを書くのを手伝ってくれませんか?

Java で行ったように Identifier クラスをオーバーライドする必要があると思いますが、行き詰まっています。

ありがとう

4

1 に答える 1

0

OpenID Relying Party サポートを ASP.NET Web アプリケーションに追加するのは実際には非常に簡単で、AuthConfig.cs ファイルは必要ありません。Web フォームを使用している場合、最も簡単な方法は、OpenIdLogin コントロールを Web フォームにドロップすることです。MVC を使用している場合は、数行のコードを記述するだけです。SourceForge からダウンロードした dotnetopenauth .zipに含まれている OpenIdRelyingPartyMvc サンプルをチェックアウトして、その方法を確認できます。

于 2013-01-29T06:43:08.010 に答える