例えば:
- 2つのドメインで2つのコミュニティサイトを実行しています(それらを
example.com
およびと呼びますexample.net
)。 - それを後でより多くのドメインに拡張できるようにしたいと考えています。
- 複数のタイプのログインを許可したい(OpenID、Facebook、Twitter、標準のユーザー名/パスワード)。
- あるサイトにログインしている人が自動的に別のサイトにログインすることを望んでいます。
つまり、StackExchangeネットワークに少し似ています。
この場合、この計画は機能しますか?
- OpenID依存パーティとして
example.com
、およびexample.net
(およびそれ以降の追加)をセットアップし、OpenIDログインid.example.org
のみを受け入れる。 - セットアップ
example.com
とexample.net
あなたがログインしている場合ように、あなたがそれらを訪問し、初めてOpenIDの返信即時要求を行うためにid.example.org
、あなたのすぐと自動的にあなたが訪問しているサイトにログインします。ログインしていない場合は、Cookieを設定して、ページリクエストごとに保存する必要があります。 id.example.org
OpenIDプロバイダーおよびコンシューマーとしてセットアップします。また、Facebookやその他のIDプロバイダーを利用し、標準のユーザー名/パスワードアクセスを許可する必要があります。(1つのアカウントに複数のログインメソッドをアタッチできます。)- ログアウト時に、データベースの認証トークンを変更するだけです。ユーザーは引き続きCookieを保持しますが、それらは無意味になります。したがって、ユーザーはすべてのサイトから同時にサインアウトできます。1人のユーザーに対して一度に複数の認証トークンを格納できます(サイトごとに異なる必要があります)。そのため、ユーザーは1つのブラウザーでサインアウトしても、別のブラウザーではサインインできます。サインアウトすると、常にすべてのサイトからサインアウトします。
上記で私が見ることができる唯一の問題はこれです:
- 誰かが訪れる
example.com
。「ログインしていない」Cookieが設定されます。 - Zieは次に進みます
example.net
。同上。 - その後、Zieはサインインし、引き続きブラウジングし
example.net
ます。 - Zieは次に戻り
example.com
、「ログインしていない」Cookieが原因でチェックid.example.org
されないため、ログインされません。 - ただし、zieが「ログイン」ボタンをクリックするとすぐに、zieはログインします。
これは大きな問題ではないと思います。
全体として、かなり良いシステムだと思います。審査をお願いします。予想していなかった問題はありますか?バギーなのか遅いのか?StackExchangeは非常に異なる方法を使用します。私は彼らがそのための正当な理由があると思いますか?
1
これはwebmasters.stackexchange.comでよりよく尋ねられるでしょうか?
—
Doug T.
私はその考えについては多くを推測します!私はそれを示唆するべきではなかったと思います。
—
ダグT.