問題タブ [ruby-openid]

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 投票する
5 に答える
3345 参照

ruby-on-rails - Ruby-OpenID: OpenID プロバイダーからのメールアドレスを要求する

私はauthlogic-example-appで遊んでいますが、ユーザーを登録するときに OpenID プロバイダー (私の場合は Google と Yahoo) からメールアドレスを取得できません。電子メール アドレスではなく、空の応答が返されます (以下のコードのコメントを確認してください)。

これが私のユーザー モデルの外観です (他のすべては、上記の authlogic-example-app の「with_openid」ブランチのように見えます)。「email」がないことに加えて、openid-authentication-process は期待どおりに機能します。

これを解決する方法はありますか?authlogicを使用する前にこれを行った人はいますか? またはさらに良い: 実際の例はありますか?

更新: Google アカウント認証 APIを確認し、 authlogicによって送信された要求( ruby​​-openid-gemおよびopenid-authentication-plugin を使用) を、Google アカウント認証 API ドキュメントの要求例と比較しました。


Google によるメール アドレスの認証と取得のリクエストの例:


アプリケーションによって送信されたリクエスト:

セットアップ全体をデバッグしているときに、openid-authentication-pluginが openid プロバイダーから受信した応答で電子メールを受信しないことがわかりました。これは、少なくともregistrationユーザーモデルのハッシュが空である理由を説明しています...

更新: authlogic と openid で遊んでいる場合は、この件に関する最新の Railscastをチェックすることを忘れないでください!

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

ruby - WebFinger と OpenID を使用したログイン

私は WebFinger をいじっていて、ユーザーが WebFinger アカウントだけを使用してログインできるようにする小さな Rails アプリを作成しようとしています。私は自分自身をうまく指で示すことができ、次のスニペットを含む XRD ファイルが返されます。

私には、「URL に OpenID 2.0 ログインがあります: http://www.google.com/profiles/{redacted}」と表示されます。しかし、その URL を使用してログインしようとすると、次のエラーが発生します。

OpenID::DiscoveryFailure (Failed to fetch identity URL http://www.google.com/profiles/{redacted} : Error encountered in redirect from http://www.google.com/profiles/{redacted}: Error fetching /profiles/{Redacted}: Connection refused - connect(2)):

プロファイル URL を「 https://www.google.com/accounts/o8/id 」に置き換えると、ログインは完全に機能します。

これが私が使用しているコードです(プラグインとしてRedFingerを使用しており、JanRainのruby-openidをgemなしでインストールしています)

WebFinger から受け取った URL を使用して OpenID でログインすることはできますか?

0 投票する
0 に答える
164 参照

ruby-on-rails - Rails: ruby​​-openid に関する簡単なバンドラーの質問

ruby-openid gemをインストールしてから、次のように入力してバンドルしました

宝石ファイルで。次に、バンドルのインストールとバンドルのロックを開始しました。これまでのところ、すべてうまくいきました。

しかし、どうすれば ruby​​-openid のクラスにアクセスできますか?

私にはうまくいきません。見つからないというエラーが発生します。

私は何を忘れたか、間違ったことをしましたか?

私はバンドラーと、さまざまなバージョンのソリューションでいっぱいのインターネットにまったく慣れていませんが、確実に機能するソリューションが1つ必要です。

助けてくれてありがとう!

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

ruby-on-rails - openidを使用してユーザーの詳細を取得する

ログインの目的でopen_id_authenticationプラグインを使用しています。プラグインを正しく統合することができ、うまく機能します。ユーザーのニックネームやメールアドレスなど、取得できない追加の値を取得したいのですが。次のコードを使用していますが、登録フィールドが空です。私はここで何か正しくやっていますか?

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

ruby - ruby-openid: 検出の実行中に @socket が設定されていません

omn​​iauth/openid でちょっとしたトラブルが発生しています。

認証しようとすると、ログにこれが見つかりました:

undefined method io' for nil:NilClass次のスニペットでは、openid/fetchers.rb に由来する重要な点があります。

そのエラーは によって生成され@socket.io.peer_cert、@socket は定義されていません。

以前にこれに遭遇した人はいますか?何が原因なのかよくわかりません。

私が実行しているバージョン:

  • ruby 1.9.3dev (2010-08-17 トランク 29020) [x86_64-darwin10.4.0]
  • ruby-openid (2.1.8)
  • ruby-openid-apps-discovery (1.2.0)
  • オムニ認証 0.2.0
0 投票する
1 に答える
138 参照

ruby-on-rails - Rails3 + OpenID == mmmmmm; Rails3 + JQGrid == mmmmmm; Rails3 + OpenID + JQGrid == BZZZT

JQuery ウィジェット(特にJQGrid )を Rails 3 アプリケーションで使用しようとしています。私は ruby​​-openid を使用して Google で認証を行い、Seth Ladd の素晴らしいレシピを使用してそれを機能させました。

それは何をしますか-ウェブフォームからのページビューと投稿。

ただし、JQGrid がサーバー上のデータを更新するために POST を実行すると、次の 2 つのことが発生します。

  1. ユーザーのブラウザーが Google へのログインによって既に認証されている場合でも、POST は認証されていないブラウザーから送信されたかのようにサーバーに表示され、OpenID 認証ダンスにリダイレクトされます。それはそれを除いてショーストッパーではありません

  2. サーバーがリダイレクトと認証を開始するはずの 401 を返すとすぐに、エンチラーダ全体が停止します。通常 (たとえば、フォーム送信からの POST 要求のように)、ブラウザーは 401 を認識し、同封の「ここで認証」情報を読み取り、ダンスを行い、セッションがセットアップされて戻ってきて、サイクルが続きます。しかし、JQuery/JQGrid からは...それほど多くはありません。

何か案は?ここで明らかな何かが欠けていると確信していますが、ラムズフェルドの「未知の未知」の 1 つが進行中です。何が欠けているのか、ましてやそれを修正する方法がわかりません! これは長い間解決されてきた問題のようですね。

私は XSS 防御に違反している可能性がありますが、もしそうなら、* *- OpenID ですでに行った深刻な投資 (既にサインアップしているユーザーとパスワードを提供/記憶する必要があるユーザーを含む) を無効にする以外の方法がわかりません。 - くそっ!)。

事前に感謝します、私の専門家の同僚。

(Rails 3.0.7、ruby-openid 2.1.8、JQGrid 3.5.3、JQuery 1.3.2、Google を OP として使用するため、ユーザーは ID URL を入力する必要がありません。)

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

ruby-on-rails - 相対ルートは、Passengerを使用してRails 3にアップグレードした後、異なるOpenIDユーザートークンを引き起こします

gmail openidは、Redmine 1.3.1(Rails 2 Mongrel)で1年以上動作しています。別のボックスをRedmine2.0.3(Rails 3 Passenger)にアップグレードしましたが、古いインスタンスからアップグレードされたインスタンスに切り替えると、すべてのユーザーにGoogle認証アプリケーション画面が表示され、[はい]をクリックすると、 Redmine登録画面。

Railsセッションsecret_tokenを、データベース全体とともにアップグレードされたインスタンスに転送しました。Redmine 1.2から1.3.1にアップグレードするときは、過去にこの手順を正確に実行しましたが、完全に機能しました。アップグレードした新しいRedmineインスタンスに新しいアカウントを登録し、Gmailのユーザーアカウント設定に移動すると、同じURLに対してRedmineの2つの承認済みアプリケーションがあることがわかります。

問題の根本は、認証時にOpenIDプロバイダーに渡されるopenid.realmにあるようです。ユーザーがGoogleに送信されると、URLパラメータが次のように変更されます。

openid.realm=http://our.domain.com/redmine/ openid.return_to=http://our.domain.com/redmine/login?_method%3Dpost%26open_id_complete%3D1

に:

openid.realm=http://our.domain.com openid.return_to=http://our.domain.com/redmine/login?_method%3Dpost

アップグレードされたインスタンスのレルムには/redmineが含まれていません。ブラウザのURLを手動で編集した後、このセクションを追加すると問題が解決することを確認しました。正しいopenid.realmを生成するために何ができますか?それでもPassengerで動作します。相対ルートURLは、Passengerのrailsレベルではなく、Apacheレベルで処理されますか?

使用される宝石:open_id_authentication、ruby-openid、rack-openid。

よろしく、ピエール

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

ruby-on-rails - ruby-openid のリターン URL を設定できますか?

ruby-openid を使用していますが、リターン URL をデフォルト (現在のアクション) 以外に変更できますか?

(レール4を使用)