OpenIDに対してローカルでどのように開発しますか
質問
OpenIDを使用してユーザーを認証するWebサイト(Django)を開発しています。現在、ローカルマシンでのみ実行しているため、Web上のOpenIDプロバイダーのいずれかを使用して認証することはできません。だから、ユーザー名を入力するだけでメインアプリにそれを返すローカルOpenIDサーバーを実行する必要があると考えています。
そのようなOpenID devサーバーは存在しますか?これが最善の方法ですか?
解決
OpenIDが有効のライブラリには、ローカルテストプロバイダーを実行するのに十分な例が付属しています。 python-openidソース配布のexamples / djopenid /ディレクトリを見てください。これを実行すると、このテストプロバイダーのインスタンスが提供されます。
他のヒント
myopenid.com でのテストに問題はありません。ローカルマシンでのテストに問題があると思いましたが、うまくいきました。 (ASP.NETとDotNetOpenIdライブラリを使用しています)。
「レルム」と戻りURLには、「 http:// localhost:93359 」のようなポート番号が含まれている必要があります。
プロバイダーがクライアント側のリダイレクトを行うため、正常に機能すると仮定します。
これも検討しています。私もOpen Idを利用するDjangoプロジェクトに取り組んでいます。参照については、チェックアウトしてください:
うまくいけば、ここの誰かがこの問題に取り組んでいます。
phpMyID を使用して、現在StackOverflowで認証しています。標準のHTTP認証領域を生成し、完全に機能します。まさに必要なものでなければなりません。
おそらくdjango OpenIDライブラリを使用して、テスト対象のプロバイダーを作成できます。常に認証するものと常に失敗するものがあります。
ローカルマシンからOpenIDプロバイダーを実行しない理由
.Net開発者の場合、 Google Code <に.NetのOpenIDプロバイダーライブラリがあります。これは、標準の.Netプロファイルプロバイダーメカニズムを使用し、OpenIDレイヤーでラップします。 OpenIDをカスタム認証エンジンに追加するために使用しています。
別の言語/プラットフォームで作業している場合は、OpenIDコミュニティサイトからこちらで利用可能なOpenIDの実装が多数あります。 。
自分のマシンに対して開発するのに問題はないはずです。どのようなエラーが発生していますか?
OpenIDプロバイダーからサイトの提供を求められます(この場合は http:// localhost:8000 または同様のサイトです。 )あなたの身元へのアクセス。 [OK]をクリックすると、そのURLがリダイレクトされます。 livejournal で問題が発生したことはありませんが、 myopenid.com も機能します。
ローカルでの開発に問題がある場合、あなたが抱えている問題はlocalhostであるurlとは無関係であるが、何か他のものであることをお勧めします。エラーメッセージや問題の説明がないと、それ以上言うことはできません。
編集:ヤフーは、私が遭遇した他のOpenIDプロバイダーとは異なる方法で処理し、IPアドレスへのリダイレクト、ドメイン名に正しいtldがないサイト、および実行しているサイト80または443以外のポートで。こちらから投稿をご覧ください。このテーマに関するYahoo開発者。 この投稿は回避策を提供しますが、開発にはお勧めしますmyopenid.comは、Yahooを操作したり、独自のプロバイダーを実行したりするよりもはるかに簡単です。