0

認証にdevise_token_authを使用するプロジェクトがあります。これに従ってActive Adminをインストールしました。

アクセスしようとするlocalhost:3000/adminと、You need to sign in or sign up before continuing.

ただし、にコメントconfig.authentication_method = :authenticate_admin_user!するconfig/initializers/active_admin.rbと、localhost:3000/adminダッシュボード ページが開きます。

私の質問は、アクティブな管理者のログイン ページが表示されないのはなぜですか?

4

1 に答える 1

2

ActiveAdmin(AA) との両方を使用する場合に知っておく必要があることがいくつかありますdevise_token_auth。AA は以下を使用します。

  • Devise認証用
  • :adminデフォルトの名前空間として

これは、すべての AA リソースが/adminegの下にルートを持ち、 ;/admin/postsを使用して認証されることを意味します。Deviseありませんdevise_token_auth

両方のタイプの認証システムを利用するには、AA 用と devise_token_auth 用の 2 つの名前空間を使用する必要があります。

このシナリオでの一般的な戦略は、devise_token_auth の前に次のように AA ルートを定義することです。

Rails.application.routes.draw do

  # AA routes available at /admin
  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)

  # token auth routes available at /api/v1/auth
  namespace :api do
    scope :v1 do
      mount_devise_token_auth_for 'User', at: 'auth'
    end
  end

end

ここでは AA が使用し:admin_users、token_auth は:usersテーブルを使用します。それらをニーズに合わせることを忘れないでください。

: ApplicationControllerAA と devise_token_auth を使用しているときに問題が発生した場合は、このリンクを参照してください

于 2017-11-30T13:10:41.283 に答える