2011-08-04 15 views
0

私は自分のドメイン名を識別子として使用して個人用OpenIDベースのオンラインIDを構築しようとしています。私はすべてこれを達成できるようにしたい:あなた自身のドメインで信頼できるOpenIDのヒント

  • http://alvaro.es/私の識別子。
  • プロバイダを透過的に切り替えることができます。
  • OpenIDを受け入れるサードパーティのサイトにログインします。
  • 個人的な詳細(電子メール、タイムゾーン、アバターなど)を提供でき、要求を送信したサイトに送信するかどうかを尋ねるメッセージが表示されます。
  • SSLホスティングを購入することなく、自分自身(PHPで動作する)のサイトでOpenIDを受け入れます。

私はthe usual docを読んでいます。私はいくつかのOpenIDプロバイダ(Google、Yahoo、myOpenID ...とさらにrunning my own server)を評価しています。事実、私はしばらくの間、OpenIDを使用していました:

  • プロバイダは非常に不十分なドキュメントを提供しているか、全く提供していません。
  • どのプロバイダを選択しても、ログインに失敗したサイト(通常はエラーメッセージなし)が常に存在します。
  • プロバイダから返された識別子の制御がほとんどありません(または全くありません)。
  • これはすべて実際にどのように動作するのかまだ分かりません。

私は一般的なアドバイスを探していますが、私はそれが主観的になる可能性があるので、いくつか具体的な質問をします。


これまでのところ、私は、プロバイダや消費者などLightOpenIDとしてmyOpenIdをしようとしています。私の質問は以下のとおりです。

  1. URLは、HTTPヘッダ提供:

    X-XRDS-Location: http://kalvaro.myopenid.com/?xrds=1 
    

    を...そして、次のHTMLタグ:

    <link rel="openid.server openid2.provider" href="http://www.myopenid.com/server"> 
    <link rel="openid.delegate openid2.local_id" href="http://kalvaro.myopenid.com"> 
    

    それは正しいですか?それは十分か?

  2. myOpenIDは、独自のドメイン名を登録する機能があなたのドメインを提供しますが、私はそれをテストするためにあえてしていない(それはDNSの変更を必要とする)と、設定フォームは、私がhttp://openid.alvaro.es/usernamehttp://username.alvaro.es/の間で選択する必要が示唆識別子ではありません(http://alvaro.es/ではありません)。しかし、Stackoverflowはまだこの機能がないとalvaro.esを私の識別子として報告しています。私はそれを使用する必要がありますか?

  3. LightOpenIDを実装

    、私は($openidLightOpenIDオブジェクトのインスタンスである)$openid->identityに対してローカルユーザーと一致します。この属性は、ユーザーが指定したURLのように見えます。それが正しいか?

  4. 私が選んだものよりも適切なプロバイダまたはコンシューマライブラリがありますか?

答えて

1
  1. それは正しいです。それ以上で十分です。 X-XRDS-Locationを提供することは良いことですが、発見プロセスを分かりやすくするためには、必ずしも必要ではありません。
  2. 私の知る限り、あなたのドメインは、ドメイン内に複数のアカウントを持ちたい場合に便利です。とにかく、それをまったく使う必要はありません。
  3. 正しいです。このURLは、主張識別子、つまりユーザーが主張するものとも呼ばれます。
  4. LightOpenIDの著者として、私の答えは明らかであり、おそらくバイアスされています。私は良い、既存のライブラリを見つけることができなかったので、作成しました。あなたが知りたいかもしれません

他のもの:

  • 委任をGoogleと連携し、select_identifierを使用する他のプロバイダはありません(すなわち、各アカウントには、同じURLを持ち、その後、プロバイダはお願いしますあなたのログインのために)。
  • あなたの委任先は、1で示したように、プロバイダーを透過的に切り替え、OpenIDをサポートしている任意のサイトに必要に応じてログインすることができます。
  • 個人情報は、送信するかどうか、提供する個人情報の種類などによって、プロバイダに完全に依存します。たとえば、Googleは送信するものを選択することはできません。何か(そしてウェブサイトが要求するすべてのもの)をまったく送ってはいけません。
  • 一部の実装はバグがあり、実際には失敗します。もう一度ログインしてみてください。時々動作します。
  • 委任を使用する場合は、プロバイダから返される識別子は重要ではありません。ログインしているウェブサイトでは、主張された識別子を使用する必要があります。

openidの仕組みについては、answers to that question on SOを参照してください。

+0

非常に明確な答えです、ありがとうございます。私はOpenIDを完全に理解することは決してできませんが、私は最終的に私のサイトでそれを実装するための最小限のものを集めたと思います。 –

関連する問題