Handling requests with Rack and Rails
The Clerk Ruby SDK comes with Rack middleware to lazily load the Clerk session and user. If added as a gem to Rails application, the Clerk::Authenticatable concern can be added to your controller.
require "clerk/authenticatable"
class ApplicationController < ActionController::Base
include Clerk::Authenticatable
endThis gives your controller and views access to the following methods:
clerk_sessionclerk_userclerk_user_signed_in?
If you want to protect a subset of your controllers (for example, if you have an admin section), you can add a before_filter like this:
class AdminController < ApplicationController
before_action :require_clerk_session
private
def require_clerk_session
redirect_to clerk_sign_in_url unless clerk_session
end
end