0

I'm trying to setup custom routes for Devise_Token_Auth for additional endpoints for my User model. Here's my default devise_token_auth routes.

mount_devise_token_auth_for 'User', at: 'auth'

Now, I want to add routes for some endpoints which are defined in UsersControllers. e.g endpoints are with name:

  • signup_email
  • verify_mobile_signin
  • register_sports_complex

which are post requests. How can I define routes for these additional endpoints which are not already defined in Devise_token_auth controllers. My UsersController.rb file is in directory custom_users/users_controller.rb.

Any help is much appreciated.

1 Answers1

0

The gem devise_token_auth uses the devise gem under the hood. You can define the additional routes using devise_scope as you'd do in the actual devise gem.

# config/routes.rb

mount_devise_token_auth_for 'User', at: 'auth'

devise_scope :user do
  get :route_name,            controller: :your_controller_name
  # or
  get :route_name,            to: 'controller_name#action_name'
end

For your case

# config/routes.rb

mount_devise_token_auth_for 'User', at: 'auth'

devise_scope :user do
  post :signup_email,            controller: 'custom_users/users_controller'
  post :verify_mobile_signin,    controller: 'custom_users/users_controller'
  post :register_sports_complex, controller: 'custom_users/users_controller'
end

Use the appropriate HTTP action verb GET, POST, PATCH etc, depending on your route.

Devise documentation

Masroor
  • 1,484
  • 3
  • 14
  • 23