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

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

ruby-on-rails - Doorkeeper と Devise が POST で 401 Unauthorized を受け取る

Rails を使用して Android アプリで使用する API を構築しようとしています。Devise と Doorkeeper を構成しましたが、何かを忘れていたようです...

コントローラーに次のコードがあります。

ヘッダー内

GET メソッドを使用すると機能しますが、POST または DELETE は機能しません

コントローラーで POST を実行しようとすると、このエラーが発生します

助言がありますか?

アップデート

ドアキーパー.rb

Deviseのデフォルト値を変更していません

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

ruby-on-rails - ドアキーパー gem からモデルをオーバーライドする方法

Doorkeeper gem によって提供されるオーバーライド方法について何か考えはありますか?Doorkeeper::Application検証、コールバックなどを追加したいとしましょう。DB テーブルの名前はauth_applications.

以下を含む application.rb という名前のモデルを作成しましたが、 before_create 呼び出しがトリガーされません。最善のアプローチは何ですか?

この SO 回答コードに従って、初期化子として宣言する必要があります。ただ、追加したいことがたくさんあるので、クラシックモデルが欲しいです。

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

ruby-on-rails-4 - 初期化されていない定数 Api::Doorkeeper

Railsアプリ内にAPIエンジンがあり、エンジンをメインアプリルートの下にマウントしました

そして、このようにルートに use_doorkeeper 関数を使用してドアキーパールートを追加したい

これは、doorkeeper/controller_name ではなく api/doorkeeper/controller_name の下でコントローラーを見つけようとするため、機能しません。

回避策として、メインアプリのroutes.rbに、このようなスコープでドアキーパールートを追加しました

しかし、解決策があるかどうかを知りたいので、ルートを api/config/routes.rb に追加して、正しいコントローラー パスを参照できるようにします。

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

ruby-on-rails - ドアキーパー 2.0.1 で Grape 0.10.1 を認証する

OAuth2認証のドアキーパーと一緒にグレープを使用しています。今、グレープ 0.8 からグレープ 0.10.1 にアップグレードし、ドアキーパーを 2.0.1 にアップグレードしたいと考えています。残念ながら、私はいくつかの問題に遭遇しました。以前は、ブドウのドアキーパーを使用して、グレープhttps://github.com/fuCtor/grape-doorkeeperに簡単にドアキーパーを統合できました。

しかし、アップグレード後、次のようなエラーが発生uninitialized constant Doorkeeper::DoorkeeperForBuilder (NameError)し、doorkeeper_forヘルパーがドアキーパーから削除されて置き換えられたようですbefore_action :doorkeeper_authorize!( https://github.com/doorkeeper-gem/doorkeeper/blob/master/CHANGELOG.md#backward-incompatibleを参照) -変更)。

ここでhttps://github.com/intridea/grape#register-custom-middleware-for-authenticationグレープのドキュメントにはrack-oauth2、OAuth2 認証に使用できることが示されていますが、私が見る限り、これには簡単なレール統合が欠けていますそのドアキーパーが提供しますよね?

だから今、どうやってドアキーパー 2.0.1 をグレープ 0.10.1 に統合するのか、少し混乱しています。すでにいくつかのチュートリアルを読みましたが、この gem の古いバージョンをターゲットにしています。だから、どんな助けも大歓迎です!

アップデート

GrapeDoorkeeper gem を掘り下げたところ、次の行が見つかりました ( https://github.com/fuCtor/grape-doorkeeper/blob/master/lib/grape-doorkeeper/oauth2.rb#L64 ):

module OAuth2 def doorkeeper_for *args doorkeeper_for = Doorkeeper::DoorkeeperForBuilder.create_doorkeeper_for(*args) use GrapeDoorkeeper::Middleware, doorkeeper: doorkeeper_for end end

DoorkeeperForBuilder次に、ドアキーパー 2.0.1 を調べたところ、クラスとcreate_doorkeeper_forメソッドがなくなっていることに気付きました。また、これを行う代替または別の方法を見つけることができませんでした。私にDoorkeeper::DoorkeeperForBuilder.create_doorkeeper_forは、ブドウが使用するミドルウェアを返すように見えます。それで、それは新しいドアキーパーでどのように行われるでしょうか?

別の質問は、この行がまだドアキーパー 2 で機能するかどうかです: https://github.com/fuCtor/grape-doorkeeper/blob/master/lib/grape-doorkeeper/oauth2.rb#L73

Grape::API.extend GrapeDoorkeeper::OAuth2