問題タブ [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.
ruby-on-rails - Doorkeeper と Devise が POST で 401 Unauthorized を受け取る
Rails を使用して Android アプリで使用する API を構築しようとしています。Devise と Doorkeeper を構成しましたが、何かを忘れていたようです...
コントローラーに次のコードがあります。
ヘッダー内
GET メソッドを使用すると機能しますが、POST または DELETE は機能しません
コントローラーで POST を実行しようとすると、このエラーが発生します
助言がありますか?
アップデート
ドアキーパー.rb
Deviseのデフォルト値を変更していません
ruby-on-rails - ドアキーパー gem からモデルをオーバーライドする方法
Doorkeeper gem によって提供されるオーバーライド方法について何か考えはありますか?Doorkeeper::Application
検証、コールバックなどを追加したいとしましょう。DB テーブルの名前はauth_applications
.
以下を含む application.rb という名前のモデルを作成しましたが、 before_create 呼び出しがトリガーされません。最善のアプローチは何ですか?
この SO 回答コードに従って、初期化子として宣言する必要があります。ただ、追加したいことがたくさんあるので、クラシックモデルが欲しいです。
ruby-on-rails-4 - 初期化されていない定数 Api::Doorkeeper
Railsアプリ内にAPIエンジンがあり、エンジンをメインアプリルートの下にマウントしました
そして、このようにルートに use_doorkeeper 関数を使用してドアキーパールートを追加したい
これは、doorkeeper/controller_name ではなく api/doorkeeper/controller_name の下でコントローラーを見つけようとするため、機能しません。
回避策として、メインアプリのroutes.rbに、このようなスコープでドアキーパールートを追加しました
しかし、解決策があるかどうかを知りたいので、ルートを api/config/routes.rb に追加して、正しいコントローラー パスを参照できるようにします。
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