問題タブ [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.

0 投票する
3 に答える
1421 参照

php - Googleは「identifier_select」を必要とする唯一のOpenIDプロバイダーですか?

私はPHPでOpenIDコンシューマーを開発しており、素晴らしいLightOpenIDライブラリ(http://gitorious.org/lightopenid)を使用しています。サンプルクライアントスクリプトにあるコードに基づいて、コンシューマーを正常に作成しました。しかし、私は問題に遭遇しました:Googleはとをに設定する必要がopenid.identityあります(ここを参照)。私がそうすると、それは機能しますが、他のプロバイダー(つまり、AOL)は機能しません。openid.claimed_id"http://specs.openid.net/auth/2.0/identifier_select"

これが私の質問です:

  1. identifier_selectGoogleはコーナーケースですか-OpenIDの仕様に反して、必要なOpenIDプロバイダーはGoogleだけですか?
  2. LightOpenIDライブラリに欠点はありますか?
  3. OpenIDがどのように機能するかについての私の理解は正しくありませんか?
  4. 必要なプロバイダーがGoogleだけではない場合、identifier_selectハードコーディングするプロバイダーは限られていますか、それともOpenID仕様でこれを判断する方法はありますか?

私はOpenIDの内部に慣れていないので、これがばかげた質問であっても驚かないでしょう。インターネットを調べた後、私はこの主題に関する情報を見つけることができませんでした。

0 投票する
1 に答える
809 参照

php - OpenIDプロバイダーをDirectedIdentityが必要であると識別するにはどうすればよいですか?

LightOpenID PHPライブラリを拡張して、IDプロバイダーがDirectedIdentityを必要としていることを「発見」しようとしています。ライブラリは美しくよく書かれていて、素晴らしくきれいなので、これは簡単なはずですが、これらのタイプのプロバイダーを識別する方法がわかりません。私が試したいくつかのこと:

  • 私はこのテーマに関するOpenIDの仕様を調べましたが、手ぶらで出てきました。
  • PHP OpenIDライブラリを調べましたが、検出中にこの情報がどのように収集されたかを理解できませんでした。
  • LightOpenIDにコードを挿入することにより、サーバーから送信されたすべてのデータ(ヘッダーとコンテンツ)をダンプしましたが、役立つものは何も表示されませんでした。
  • 当然、GoogleとStackoverflowを検索しました。

プロバイダーは、「Directed Identity」認証が必要であるとどのように識別しますか?確かに、これには注意深く定義された仕様があります...どこかに。

誰かが私がこれについてもっと見つけることができる場所を知っていますか?

0 投票する
2 に答える
3085 参照

php - LightOpenID を使用してプロバイダーからアカウント データを取得する方法は?

LightOpenIDという小さな OpenID ライブラリに問題があり ます。ほとんどすべてのプロバイダーに対して認証できますが、プロバイダーからデータを取得する方法がわかりません。print_r() を使用しても、Array() しか取得できません。

0 投票する
4 に答える
2985 参照

php - gmail アドレスを取得するには... openid を使用しますか? oauth?

私は混乱しています。

LightOpenIDを使用して、openid ログインを機能させることができました。

私がそれをするのはopenid_identity、「」などだけhttps://www.google.com/accounts/o8/id?id=xxxです。かなりがっかり: メールアドレスももらえると思っていたのに。

つまり、ログインする必要があり(これが openid の機能です) ユーザーがログインに使用した Google アカウントのメール アドレスを知る必要があります。

関数はありますが、そこ$openid->getAttributes()から得られるのは空の配列だけです。Googleはそれ以外に何も与えてくれないと思いますopenid_identity

だから私は使うことになっていると思いますよOAuth?私はそれについて無知です。私は、すべてを説明するふりをしている(そして私すべてを意味している)か、何も説明していない、恐ろしくて混乱したドキュメントしか見つけません でした

はい、もちろん、Google で検索したのと同じように、それに関する以前の投稿を見ようとしました。上記の段落をもう一度読んでください。

0 投票する
1 に答える
1552 参照

php - OpenID検出メソッド-YadisVSHTML

最近、openIDをよりよく理解するために、独自のPHPOpenIDコンシューマークラスを書き始めました。ガイドとして、[LightOpenIDクラス][1]を参照しています。ほとんどの場合、私はコードとOpenIDがどのように機能するかを理解しています。著者のdiscover機能を見ると、私の混乱が生じます。

さて、これが私が理解しているロジックです(基本的に):

  1. が有効なXRDSファイルを送信するかどうかを確認し、$urlそれを解析してOpenIDプロバイダーのエンドポイントを把握します。
    • 私の理解では、これはYadis認証方式​​と呼ばれています。
  2. XRDSファイルが見つからない場合は、エンドポイントのURLを含むHTML<link>タグの応答の本文を確認してください

何。。ヘック。

真剣に?基本的に、応答をスクリーンスクレイピングし、適切な属性値を持つリンクを見つけたいと思いますか?

誤解しないでください。このクラスは魅力のように機能し、素晴らしいです。エンドポイントの検出に使用される2つの別々のメソッドであるXRDS(yadis)とHTMLを理解できていません。

私の質問

  1. 発見プロセスで使用される2つの方法はこれらだけですか?
  2. 1つはOpenIDのバージョン1.1でのみ使用され、もう1つはバージョン2でのみ使用されますか?
  3. 両方の方法をサポートすることが重要ですか?
  4. 私がHTMLメソッドに出会ったサイトはYahooです。彼らはナッツですか?

お時間をいただき、ありがとうございました。少し戸惑ったように聞こえたらお詫びしますが、endPointを見つけるためにどのような対策が取られているのかを理解し始めると、その方法論には本当に驚かされました。

0 投票する
4 に答える
13440 参照

php - LightOpenIDを使用してユーザーにログインします

こんにちは
私は数時間前にLightOpenID(http://gitorious.org/lightopenid)をダウンロードしましたが、それでもそれを機能させる方法を理解できません。
このグーグルの例をtest.phpファイル に保存しました

init.phpは私のページのinitファイルです(定数、クラス、関数、データベース接続など)。
このコードを実行した後、「LoginwithGoogle」というラベルの付いたボタンを取得しました。

$openidオブジェクトに関する情報を提供する

LightOpenIDオブジェクト([returnUrl] => http://kur.com/openid.php [必須]=>配列()

)。

...特別なことは何もありません...そしてそれだけです...
私はグーグルでチュートリアルを検索することに多くの時間を費やしていますが、1つも見つけることができません。手伝ってくれませんか。
ユーザーにログインする方法は?
ログに記録されたユーザー情報(ユーザー名、メール)をどこから取得する必要がありますか?
オープンIDを使ったことがないので困惑しています…
よろしくお願いします

0 投票する
1 に答える
1021 参照

openid - Lightopenid + Google Apps + validate()=サーバーが見つかりません!

私はLightOpenIDを使用しており、それに付属しているexample-google.phpのコピーに近いテストページがあります(デバッグのためにいくつかのエコーを投入しました)。[Googleでログイン]ボタンをクリックすると、Googleに移動します。有効なGoogleAppsメールアドレスでログインすると、自分のページに戻ります。しかし、claimed_idを検証しようとすると、「サーバーが見つかりません!」というメッセージが表示されます。メッセージ。

私はガイダンスのためにそのフレーズをグーグルで検索しましたが、ほとんどの応答はただの豪華なチェックインへのリンクです。fwritesを使用してコードを詳しく調べ、コードが次の順序で実行されることを示します...

(私が入れたすべてのデバッグコードのために、私の行番号は少しずれているかもしれません...)

openid.php:validate()が呼び出されます。validate()では、568行目あたりがこの行です...

この行の後、$ serverは空、つまり''です。

Discover($ url)の開始時に、変数が

問題は、htmlTag()が呼び出されたときに、$ serverが行364(openid.php)に設定されていないことです。同じ$urlが$contentに対してスクレイプされますが、そのURLは404を返し、htmlTag()のpregsに失敗します。

$ urlは正しくありませんか?これは、GoogleAppsからのものだと思う「openid_identity」から直接設定されます。

これは、GoogleAppsに正常にサインインした後に返されるURLです。

私はOpenIDに慣れていないので、ここで正しい方向を示すためのフレーズまたはリンクをいただければ幸いです。

ありがとう、エリックB。

0 投票する
2 に答える
2185 参照

php - PHPのシンプルなopenID

私は LightOpenID を使用しています。非常に軽量ですが、理解しにくいものであり、Wiki もありません...

彼らが提供するサンプル ファイルは以下のとおりです (長文の投稿で申し訳ありません)。

誰かが本当に役立つと感じている場合は、ここにある既存のスクリプトに追加しようとしています。$openid->validate() が true を返したときに、$sql_answer をデータベースに保存できるようにするにはどうすればよいですか?

0 投票する
1 に答える
735 参照

php - lightopenid を使用して yahoo メールを取得できません

LightOpenID を使用して openid 認証を取り入れようとしています。yahoo! と統合するために、example-google.php のディスカバリー URL を変更しました。しかし、私は属性を取得していません (少なくとも Google でメール ID を取得できます)。

http://pastebin.com/08RzvsGy

0 投票する
2 に答える
1291 参照

php - リダイレクト時に LightOpenID が禁止される

私は lightOpenID を使用しようとしています。これは単純で、ファイルをアップロードしてから動作をテストするケースです。example-google.php を使用すると、ログイン ボタンをクリックします。最初に、Google にログインして、構築中のサイトを許可/記憶するように求められました。次に、example-google.php?login にリダイレクトし、属性をロードします。しかし、そのページには「禁止されています。このサーバーの path/to/folder/example-google.php にアクセスする権限がありません。」と表示されます。URLに ?login を含む属性を削除すると、「Googleでログインボタン」が表示されるので、ファイルのアクセス許可が正しいことは明らかです。

今後そのボタンをクリックすると、すぐに禁止されたページにリダイレクトされるため、Google は私がログインしていることを覚えており、ログインを使用して自分のサイトに満足していることは明らかです。

私はこれについて頭を悩ませ、助けを求めたり、あらゆる種類のものを探したりしました。どんな助けにも感謝しますが、私はopenidを放棄するところに近づいています(他のライブラリは実装するのが難しいと思われたため)。