こんにちは、
当社の Discourse インスタンス向けに非常に特殊なプラグインを構築しており、いくつか質問があります。
ある時点で、このプラグインは Discourse のトピック画像のコレクションを Imgur に送信する必要があります。画像を収集する部分はすでに完了しています。
現在、Imgur API の OAuth2 フローを使用して認証を試みています。プラグイン用の管理 UI を作成し、ボタンを押して Imgur アカウントでプラグインを承認できるようにしました。ユーザーがログインすると、コールバック URL(Discourse インスタンスとプラグイン内で作成した特定ルートとして設定)がアクセストークンと共に呼び出されます(例を参照)。
http://localhost:3000/admin/plugins/plugin_name/callback#access_token=<token>&...
質問:このトークンをどのように取得すればよいでしょうか?どこから始めればよいのか見当もつきません。
トークンはハッシュパラメータとして返されるため、JS 側で処理する必要があると考えています。コールバック URL 用のコントローラーとルートを設定してみましたが、URL(特にハッシュ部分)をそこから読み取る方法がわかりません(Ember.js のドキュメントや Stack Overflow にも役立つ情報が見つかりませんでした)。さまざまなイベントリスナーを設定しようとしましたが、トリガーされないようです。
2 番目の質問:トークンとリフレッシュトークンはどこに保存すべきでしょうか?プラグインからシステム設定として保存することは可能でしょうか?PluginStore について聞いたことがありますが、これは Ruby 側からのみアクセス可能(つまり、クライアントがこれらのトークンをサーバーに送信するためのエンドポイントを作成する必要がある)とのことです。また、セキュリティの観点から安全でしょうか?
ありがとうございます!
編集:ルートファイル名にタイプミスがあり、's’が抜けていたため、何もしませんでした…