0

私はdevise_token_authを使って認証しています。私はthisの後にActive Adminをインストールしました。私はlocalhost:3000/adminにアクセスしようとすると、私はconfig.authentication_method = :authenticate_admin_user!config/initializers/active_admin.rbで、localhost:3000/adminは、ダッシュボードページを開くコメント際ActiveAdmin with devise

私は、しかし

You need to sign in or sign up before continuing.を取得します。

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

答えて

1

ActiveAdmin(AA)とdevise_token_authの両方で作業するときに知っておくべきことがいくつかあります。 AAは使用しています:

  • Devise認証
  • :adminのためのデフォルトの名前空間

ように、それはあなたのAAリソースのすべてが、例えば/admin下のルートを持っていることを意味します/admin/postsとなり、それらはDeviseを使用して認証されます。 devise_token_authではありません。

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

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 
:admin_users

AAを使用しているとtoken_authが:usersテーブルを使用します。このシナリオで

一般的戦略はこれは次のようdevise_token_auth前AAルートを定義することであろう。あなたのニーズに合わせることを忘れないでください。

:AAとdevise_token_auth、してくださいrefer to this linkでの作業中にあなたがあなたのApplicationControllerとのトラブルに直面した場合。

関連する問題