web-dev-qa-db-ja.com

複数のサイトで同じログイン認証情報を使用する機能をどのようにして伝えることができますか?

現在siteA.comそしてかなり大きなユーザーベースを持っています。

紹介する予定ですsiteB.comおよびsiteC.comミックスに入れます。最終的には「サイトのネットワーク」にしてユーザーが簡単にできるようにするため、siteAのログイン認証情報はsiteBsiteCなどで機能するはずです。

基本的に、1つのログインがすべてのサイトで機能するはずです。誰かがsiteCに登録した場合、siteAsiteBで同じ資格情報を使用できるはずです。

GoogleやFacebookのようにユビキタスではないため、1組のログイン認証情報がすべてのサイトで機能することは明らかではありません。

登録およびログイン中に、ユーザーにどのようなアフォーダンスを伝えれば、1組のログイン資格情報がすべてのサイトで機能しますか?

将来的にはsiteDsiteEなどを導入する可能性があるため、柔軟なソリューションである必要があります。

10
F21

ユーザー名とパスワードを処理することは、すべてのユーザーが実際に使用したいものにアクセスするためにできるだけ早く乗り越えたいハードルです。だから-そもそも-すべてのサイトでログアウトしてログインする必要がないようにしてください。

いずれの場合も、ユーザーが製品やサイトの使用に集中できるように、目立たない方法でニーズを伝達する(ドメイン内で)完全に一意のアイコン、ロゴ、ナビゲーションバー、ログイン手順などが必要になります。また、ソリューションはすべてのサイトで動作し、冗長性を視覚的に表示する必要があります。

これに関する私の提案は、サービスに関連するすべてのWebページの上部にある固定バナーです。サービス全体の名前(* .stackexchange.comの "StackExchange"と同様)、これを視覚化する何らかのアイコン、ユーザー名、サービスに関連する他のサイトのリスト、およびサービスの名前が常に表示されます。現在使用中です。このようにして、ユーザーは

  • ログインページを処理することなく、同じログイン資格情報を使用してサイトを切り替える
  • 他のサイト/サービスに注意し、
  • サービスを変更するときに、ログアウトして再度ログインする必要がない機能に注意してください。

別のサービスに同じ資格情報を使用していることをユーザーに思い出させることを忘れないでください(データの入力時が最適です)。

10
uxfelix

技術的なコメントの詳細ですが、これを行う正しい方法は、「SiteAでサインイン」のようなボタンを使用してリダイレクトすることです。 SiteAOpenID または OAuth を使用したログイン用。

これにはいくつかの理由があります。

  • セキュリティSiteBにアクセスしてSiteAの認証情報を求められた場合、私の即時の対応は "フィッシングサイト、中止中止"あなたへSiteBSiteAによって所有されていることが明らかであっても、それは他のすべての人が所有するわけではありません。

  • 利便性。ユーザーに単一ドメインへのログインを要求するということは、SiteAに一度ログインするだけで済み、SiteBにアクセスすると自動的にログインできることを意味します。

    This is what stackexchange does.

  • パスワードマネージャー。多くのユーザー(自分自身を含む)は、ドメインごとにパスワードを保存する LastPass のようなパスワードマネージャーを使用しています。 SiteASiteB資格情報を使用するように要求すると、SiteAにアクセスするたびにSiteB資格情報を追跡する必要があります。

私があなたの質問を読んだときに最初に頭に浮かんだのは、シングルサインオンシステムです。詳細については、ウィキペディアの article を参照してください。

こちらもご覧ください link (以下の抜粋)。

LDAP認証とシングルサインオン

シングルサインオン(SSO)システムは、主にLDAP認証を使用します。エンタープライズユーザーは午前中にログオンすると、通常、フォームベースのエンタープライズログイン画面が表示されます。ユーザーは自分のIDとパスワードを入力します。次に、SSOソフトウェアは情報を取得し、暗号化された接続を使用してセキュリティサーバーに送信します。次に、セキュリティサーバーは、ユーザーのIDとパスワードをLDAPサーバーに提供することにより、ユーザーに代わってLDAPサーバーにログオンします。成功した場合、セキュリティサーバーは承認を続行し、ユーザーが必要なアプリケーションまたはリソースに進むようにします。

すでにSSOを使用してシステムを展開しています。これは私にとっては完璧に機能し、あなたにも役立つと思います。

3
Lester Nubla

多くのWebサイト間で同じログイン情報を持つことは非常に珍しいので、これは簡単な質問ではありません。

1つの解決策は、このログインモジュールにまったく新しい強力なIDを作成することです。したがって、ユーザーは「ねえ、このスーパーログインモジュールを知っています。以前に見たことがある」と思います。

しかし、本当にユーザーにとって簡単にしたいのであれば、各サイトにfacebook/google-connectモジュールをインストールするのが最善の解決策だと思います。

1
Renaud

さらに別の確認 ユーザー名は死ぬ必要があるという私の意見 をサポートしています。

シンプルでクリーンなメール/パスワードログインがあれば、問題は解決します。

ユーザーデータベースをマージすれば完了です。

0
Dmitri Zaitsev

ここには3つのソリューションがあります。

  1. ダイアログで能力を伝えます。サイトを追加すると、メンテナンスの問題が発生します
  2. 共有ログインサービスを使用して、siteAにログインしているユーザーを確認します。siteBに再度ログインする必要はありません。たとえば、OpenID、Facebook接続、Google API、または独自の調合。
  3. ブランドアイデンティティを使用して、サービスのまとまりのある性質を伝えます。これは非常に微妙で強力なツールです。ログインシステム(OpenID、Google ID、Mozilla Personaなど)をブランド化することも、ドメインコレクション(stackexchangeネットワークなど)をブランド化することもできます。

オプション3にはオプション1を含めることができます(おそらく含める必要があります)。

0
Gusdor

私たちの会社(Colruyt Group)では、実際には同じシステムを使用していますが、明確なメッセージはありません。私は、1つのアカウントで、個人の企業IDを持つ6つのWebサイトで使用できると思います。

私はこの方法を好まない、それは私たちの顧客にはそれほど明確ではない、そして彼らは平均して3-4のアカウントを持っている。これは私たちのデータベースの「汚染」です。社内で、UxFelixの発言に似た次の提案(以下に簡略化)を開始しました。

enter image description here

そして、私はルノーに従います、あなたは1つの均一に見えるログインシステムを作成するべきです。ユーザーが以前にそれを見たことを知っているように。

0
ThomasSt