問題タブ [doorkeeper]
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.
angularjs - RestangularProvider.setDefaultHeaders vs $http.defaults.headers.common['Authorization']
RestangularProvider.setDefaultHeadersと$http.defaults.headers.common['Authorization']セッターの間に本当に違いはありますか?
https://github.com/doorkeeper-gem/doorkeeperを使用する Rails アプリと通信する AngularJS アプリを入手しました。ユーザーがログインしたときに Athorization ヘッダーを設定しています。どちらかを選択する理由はありますか? :-)
-- マーティン
ruby-on-rails - ドアキーパー (oauth2) でアプリケーションのみの認証を行う方法
Twitter には、API のアプリケーションのみの認証があります: https://dev.twitter.com/docs/auth/application-only-auth
Twitter は、(特定のユーザーに代わってではなく) アプリケーション自体に代わって認証された要求を発行する機能をアプリケーションに提供します。
Railsのドアキーパーで同じことをしたいのですが、その方法がわかりません。コールバック URL を介してのみユーザーを認証できるようですが、アプリケーション コンテキストを使用して (アプリ ID とアプリ シークレットのみを使用して) API にアクセスするにはどうすればよいですか?
私の最初のアイデアは、アプリの ID とシークレットを使用してパスワード資格情報ログインを行い、アプリケーションに属するアクセス トークンを取得することでした。これは悪い考えですか?セキュリティの観点から安全ですか?アプリのシークレットがデータベースにプレーンテキストとして保存されているため、ユーザー認証には使用できないのではないかと思っています。
ruby-on-rails - 他の gem を使用せずにドアキーパーの resource_owner_authenticator を構成する
私は現在、Rails チュートリアルのサンプル アプリに RESTful API を追加しています。また、デバイスやクリアランスなどの他の宝石を使用せずに、ドアキーパーを使用してそれを保護しようとしています。既存のセッションに基づいてドアキーパーがユーザーを認証するようにします。現在のセッションの実装remember_token
では、ブラウザーの Cookie (サインイン時に割り当てられる) に が保持され、ハッシュされたトークンが User モデルに格納されます。
モジュール (app/helpers/sessions_helper.rb) にメソッドがあり、これは ApplicationController にも含まれていますcurrent_user
。SessionsHelper
これが次のとおりですresource_owner_authenticator
(他の失敗した実装はコメントアウトされています):
1 つの GET リクエストからのエラーを次に示します。
まず、工夫やクリアランスなしで認証できるのか、仮にできたとしてもそれが得策なのか。第二に、何が利用できるか正確にはわかりませんDoorkeeper.configure
-- is current_user
? クッキーですか?ここで私が間違っていることを誰かが見ることができれば、ありがとう。Rails 4 と Doorkeeper 1.4.0 を使用しています。
ruby-on-rails - Railsアプリを承認した後のinvalid_client oauth2エラー
Rails 4.1 を使用して Oauth2 プロバイダーに対して認証しようとしています。承認/拒否プロンプトにリダイレクトされ、承認をクリックすると、コールバック URL にリダイレクトされ、次のエラーが発生します。
エラーは oauth2 gem によってスローされ、開発中に /auth/failure エンドポイントに到達しません。私のroutes.rbは次のとおりです
私のセッションコントローラーは単なるスケルトンですが、前に言ったようにそこに到達することはありません:
私が使用する ID と秘密鍵が機能することは確かです (このツールhttps://www.runscope.com/oauth2_toolを使用して機能します)。Oauth プロバイダーによって実装された次の戦略を使用しています。
access_token の適切なリクエストを送信していないと思われますが、まだ診断できていません。どんな助けでも大歓迎です。
ruby-on-rails - AngularJS で API にアクセスすると、Rails Request の Content-Type が正しくないように見える
簡単な Rails 4.1.4 アプリケーションがあり、別のホスト上の AngularJS アプリケーションをその API に接続しようとしています。アクセスに問題はありませんが、Rails はリクエストが HTML であると考えているようで、Content-Type: 'application/json' を無視します。
私の NG アプリケーションでは、次のようなヘッダーの組み合わせをいくつか試しました。
レスポンスは NG 側では問題ないように見えます。ロケーション コントローラーにこれしかないにもかかわらず、JSON で応答しています。
また、corsヘッダーを設定しました(および設定解除をテストしました)。
スラッシュが含まれている場合、Rails は content-type ヘッダーを読み取らないことをどこかで読みました...
これは多くの問題を引き起こしているようには見えませんが、アプリケーションの一部である Doorkeeper に干渉していると思います。
ruby-on-rails - Doorkeeper TokenResponse クラスの拡張
Doorkeeper::OAuth::TokenResponse
返されたデータに何かを追加したいので、クラスを拡張する必要があります。デフォルトでは、そのクラスは次のような戻り本文を作成します。
それを維持して、新しいフィールドを追加したいと思います。
モンキーパッチTokenResponse
クラスなしでそれを行うことはできますか? そうでない場合、現在の実装を改善するためにできることはありますか (新しいバージョンの Doorkeeper などとの互換性を高めるため)? これが私の現在の実装です:
私はその機能のテストを行っているので、Doorkeeper gem をアップグレードすると壊れるかどうかがわかります。
ruby-on-rails - 複数モデルの Doorkeeper リソース所有者資格情報フロー
私が抱えている問題は、ドアキーパーのリソース所有者の資格情報フローを使用して、iOS アプリからユーザーを認証していることです。ただし、私のプロジェクトには 2 つの個別のユーザー モデルがあります (ユーザーと管理者と呼びましょう)。私のコードは次のようになります。
動作しますが、管理者もチェックするにはどうすればよいですか? つまり、ログインしているユーザーがユーザーなのか管理者なのかわかりません。両方を確認するにはどうすればよいですか?