5

OpenID を統合するための StackExhchange / StackOverflow のアプローチが気に入っています。

私が理解しているように、プロセスは次のようになります。

  • ユーザーが OpenID プロバイダー (Google など) にサインアップすると、StackOverflow (または同様のサイト) がユーザーのアカウントを作成し、OpenID をそのアカウントに関連付けます。
  • 既存のユーザーは、複数の OpenID アカウントを自分の StackExchange アカウントに関連付けることができます。

他のサイトでこれほど使いやすいものを見たことがないので、この動作をエミュレートしたいと思っています。

StackExchange が ASP.NET MVC 上に構築されていることは知っていますが、標準の ASP.NET 資格情報モデルを使用して OpenID プロバイダーを別の DB テーブルに追加するかどうかはわかりません。

だから、私の質問は次のとおりです。

  • StackExchange はこれらのアカウントをどのように作成しますか? 標準の ASP.NET MVC プロバイダーでユーザーを作成してから ID を関連付けますか、それとも別のプロセスがありますか?
  • StackExchange は、追加の OpenID プロバイダー アカウントを既存のアカウントに関連付けることをどのように許可しますか?

あなたが与えることができる助けを前もってありがとう!

4

1 に答える 1

6

StackExchangeサイトはDotNetOpenAuthライブラリ (以前は DotNetOpenId ライブラリと呼ばれていました) を使用します。

基本的に、1 対多の関係を持つUserテーブルとテーブルが必要です。スコット・ハンセルマンは優れた基本的な記事を持っているか、より詳細な概要を試してくださいUser_OpenID

于 2010-12-09T09:24:52.927 に答える