Я новичок в Ruby на рельсах.Мне нужно поддерживать проект, который представляет собой законченное веб-приложение.Теперь мне нужно ввести в него API.Я искал и получил много учебников по API и веб-приложениям по отдельности.Но никто из них не показал, как эти вещи будут работать вместе.Я запутался, как эта аутентификация будет работать для обоих.Вот application_controller.rb:
class ApplicationController < ActionController::Base
helper_method :sort_column, :sort_direction
protect_from_forgery
before_filter :authenticate_user!
# before_filter :authenticate # HTTP AUTH DISABLED
rescue_from CanCan::AccessDenied do |exception|
render :file => "#{Rails.root}/public/403.html", :status => 403, :layout => false
## to avoid deprecation warnings with Rails 3.2.x (and incidentally using Ruby 1.9.3 hash syntax)
## this render call should be:
# render file: "#{Rails.root}/public/403", formats: [:html], status: 403, layout: false
end
def user_for_paper_trail
if user_signed_in?
current_user.full_name
end
end
def info_for_paper_trail
if user_signed_in?
{ :user_id => current_user.id }
end
end
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "admin" && password == "123"
end
end
end
Мне нужно знать, как аутентифицировать API?Если я использую JWT, то как переопределить методы sign_in и делать все это отдельно для API, и это также выглядит для меня накладными расходами, поскольку аутентификация уже есть.Кроме того, было бы полезно узнать, как задействовать функции API в контроллере?Как у меня есть пользовательский контроллер и все методы для этого для веб-приложения.Теперь мне нужны те же методы для API.Поэтому мне нужно сделать новый контроллер для API или этот контроллер можно использовать?