問題タブ [lightopenid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 許可されたユーザーのみがサイトにアクセスできるようにする Web サイトのログイン システムに openid を使用する方法
ログインシステムにopenidを使用するWebサイトを作成しています(gmail / yahooアカウントでログイン)。許可されたユーザー(情報が既にDBに保存されているユーザー)のみがサイトにアクセスする必要があります。openid を使用すると、誰でも gmail/yahoo アカウントでログインできますが、DB に対して現在のユーザー情報を確認し、承認されたユーザーのみにアクセスを許可する方法がわかりません。openid の実装に lightopenid を使用しています。
安全な提案があれば教えてください。前もって感謝します。
php - LightOpenId に checkid_immediate モードでユーザーの電子メールを取得するように依頼する方法は?
敷地内:
- 私はphp LightOpenIdを使用して、Googleアカウントを介してユーザーを認証しています。
- Web サイトから提供されている標準サンプル (example.php) を使用しています。派手なものはありません。
- 動作を変更するために 1 ~ 2 行追加します。
- 私のクライアントはすべて Google 社員です。
要件1
クライアントに 2 回ログを記録させたくないので (SSO の動作)、 を
$openid->mode=checkid_immediate
呼び出す前
に を追加しheader...$openid->authUrl()
ます。
2 つの問題が発生します。
email、lang ... 属性を取得できません。
実際、checkid_immediate モードを使用して
authUrl()
、ユーザーが期待どおりに正しく接続されるようにしました。しかし
$openid->required
、コードを変更し、リクエストの前に属性を収集するためにを追加すると、呼び出しがモード呼び出しauthUrl()
に強制的に変換されます。checkid_setup
1 回の呼び出しで、checkid_immediate モードを維持して属性を取得するにはどうすればよいですか?
subdomain.mydomain2.com
www.mydomain1.com
コードはのようにwww.mydomain1.com
動作しませんcheckid_immediate
。同じコードのsubdomain.mydomain2.com
は呼び出しに変換されcheckid_setup
ます。checkid_immediate
www 以外のサブドメインでモードを維持するにはどうすればよいですか?問題#2はそれ自体で解決しました!!! キャッシュをクリアしてGoogle Chromeを再起動した後
前もって感謝します。
php - LightOpenID は MyOpenID を検証できません
何らかの理由で、 LightOpenIDがMyOpenIDアカウントの検証に失敗します。
example.php
ライブラリに付属の をテストしましたが、 Googleアカウントでは問題なく動作しますが、MyOpenIDでは常に認証が無効であると表示されます。
validate()
失敗の原因となっている行は、メソッドの最後の行であることがわかりました。
なんらかの応答が返ってくると思いますfalse
が、どのような応答で、なぜそれが起こるのでしょうか?
openid - OpenID、Google、およびパススルー変数?
私は OpenID を初めて使用し、Google アカウントに対する認証を提供するために LightOpenID を使用しています。ヘッダーのリダイレクトを伴わない、または元の HTTP 要求内に存在する GET および POST 変数を通過できる認証を実行することは可能ですか?
ヘッダーのリダイレクトが行われると、元の HTTP 要求の変数はすべて失われます。
ありがとう!
php - ユーザーが実際に OpenID を使用してログインしたか、以前のログインの URL を貼り付けただけかを確認するにはどうすればよいですか?
login.phpとreturn.phpの 2 つのページがあります。どちらもLightOpenIDを使用します。
ページlogin.phpは、OpenID プロバイダーへのリンクを作成し、プロバイダーに結果をreturn.phpに返すように指示します。
以下は、これら 2 つのページを使用する通常の流れです。
- login.phpに移動し、リンクをクリックします。
- Google アカウントを使用してログインします。
- システムはreturn.phpにリダイレクトし、User ... がログインしたことを示します。
ただし、後で、return.phpの URL をクエリ文字列 (手順 3 からコピー) とともに貼り付けることで、手順 2 を実行しなくても、return.phpに同じことを言わせることができます。
ユーザーが実際に OpenID を使用してログインしているか、以前のログインの URL を単に貼り付けているかを確認するにはどうすればよいですか?
コードは次のとおりです。
login.php
return.php
php - Janrain OpenId と lightopenid PHP ライブラリ
Janrainの PHP OpenIDライブラリの PHP 実装とLightOpenIDの違いは何ですか。
一方は他方よりも安全ですか?
OpenID を正しく実装するには、次のことを行う必要があります。
暗号署名のカバーチェック
ノンスのチェック
ヤディスの発見
Janrain のライブラリは、Google がライブラリを推奨しているため、これらすべての要件を満たしていると思いますが、LightOpenID は 1 と 2 を満たしています。
php - LightOpenID google の例が機能しない
私は php に基づく新しいプロジェクトに移されたので、先週は自分の php スキルを構築するのに費やしました。今日は、Googleアカウントに基づいてログインページを作りたいと思っていました. LightOpenID で十分であるように見えましたが、その例を機能させることができません。何をしようとしても、「ユーザーはログインしていません」というメッセージが常に表示されます。Google にサインインして自分のページに戻ると、その GET リクエストで openid.claimed_id などのパラメータを使用してデータを確認できますが、検証は常に false を返しているようです。
私は会社のプロキシの背後にいるので、これも aws で実行しましたが、うまくいきませんでした。
これを有効にするには、サーバーを何らかの方法で構成する必要がありますか? いくつかの PHP または Apache 構成? ドメインを持っていないので、IPをコンストラクターに入れていますが、それはとにかくショーのためだけだと思います。
php - openid検証はfalseを返します
LightOpenID(http://gitorious.org/lightopenid)をダウンロードしましたが、機能しましたが、数日前に停止しました。私のコード:
ローカルホストでは機能しますが、Webサーバーでは機能しません。
編集:古いバージョンのLightOpenIDを見つけましたが、動作します。
php - Googleは突然LightOpenIdを使用して検証をfalseとして返し始めました
LightOpenIDライブラリを使用して、自分のWebサイトにOpenIDを正常に実装することができました。ただし、数日前、Googleをプロバイダーとして使用すると機能しなくなりました(Yahoo!を使用すると正常に動作します)。OpenIDを実装した日から、どのプロバイダーを使用しても問題なく実行されました。Googleアカウントを使用してログインするユーザーも数人いました。しかし、奇妙なことに、数日前にGoogleは動作を停止し(他のプロバイダーは引き続き正常に動作しています)、$ openid-> validate()でfalseを返しました。
LightOpenIDによって提供されたexample-google.phpファイルを変更なしで使用してテストしましたが、運がありませんでした。また、さまざまなGoogleアカウントを使用してテストしましたが、運が悪かったのです。私は別のウェブサイトでテストしたことさえありましたが、それでも運がありませんでした。共有ホストを使用していて、バージョン7.19.7を実行しているcurlがインストールされていることに注意してください
Googleは、現在これを引き起こしているシステムに最近変更を加えましたか?この問題の他の理由はありますか?
php - FacebookとwindowsliveのopenidURLをお持ちですか?
stackoverflow.com/questions/1827997/is-facebook-an-openid-providerの質問を読みました。
また、stackoverflow.com / questions / 2264266/what-is-the-openid-url-of-facebookの質問を読みました。しかし、これらの質問は2年前に行われたものであり、facebookとwindowsliveopenidに関する変更はありません。
openidのindex.phpはここにあります(ここからダウンロード) (私はlightopenidを使用しました):
$ openid->私が試し、成功したアイデンティティはここにあります:
Google:https ://www.google.com/accounts/o8/id
Googleプロフィール:http ://www.google.com/profiles/~YOURUSERNAME
Yahoo:https ://me.yahoo.com
WordPress: http: //YOURBLOG.wordpress.com
LiveJournal:http ://www.livejournal.com/openid/server.bml
私の質問は:Facebookとwindowsliveについて上記のようなリンクはありますか?Facebookサイト(developer.facebook.com)を見ましたが、少し複雑です。