0

最近、1 つのユーザー ID に複数の openid を割り当てることができるものをよく見かけます。

  • a) これは実装する意味がありますか? または、1 つのプロファイルに 1 つの OpenID のみを割り当てますか?
  • b) Zend Framework MVC 環境でこれをどのように実装しますか。コード例/チュートリアルはありますか?

これまでの私の考え:

私はasp.netに似たものを見つけました: http://www.west-wind.com/weblog/posts/2009/Sep/17/Integrating-OpenID-in-an-ASPNET-MVC-Application-using-DotNetOpenAuth

  • データベース モデル: ユーザー プロファイルのテーブルと、ユーザー (MySQL) に割り当てられる openid の 2 番目のテーブル。
  • ログインプロセス:
  • を。Zend_Auth_Adapter_OpenId + でログイン (新規ユーザーの OpenId からプロファイル情報を取得)
  • b. ユーザーが存在するかどうかを確認します。そうでない場合は、OpenId プロファイルからユーザーを作成し、ユーザーをプロファイル画面にリダイレクトしてユーザー情報を確認します
  • c. ユーザーが存在する場合は、openid を確認し、データベースからユーザー プロファイルを取得します。
  • d. Zend_Auth モデル内のすべての情報とビジネス ロジックを保護し、アプリケーション全体から簡単にアクセスできるようにする

私は Zend の経験がないので、このニーズに合わせて zend auth コントローラーを拡張する方法についてのヒントをいただければ幸いです。誰かがコード例やチュートリアルを提供してくれればなおさらです。

ありがとう!

4

1 に答える 1

1

これは実装する意味がありますか?それとも、1 つのプロファイルに 1 つの OpenID のみを割り当てますか?

OpenId は配布されていることを覚えておく必要があります。つまり、ログイン サービスを制御することはできません。ユーザーのプライマリ OpenID プロバイダーにダウンタイムがあると、ユーザーはアプリケーションにログインできません。ただし、サーバーは正常に動作しています。

ユーザーが複数の OpenId を提供できるようにすることで、アプリケーションにアクセスできないリスクを最小限に抑えることができます。


私は自分のペット プロジェクト SemanticScuttle についても同じ問題について考えていました。1 人のユーザーに複数の OpenId を実装することは間違いありません。

于 2011-08-02T19:40:13.347 に答える