def sign_in(user, &block)
      clearance_session.sign_in(user, &block)

      if signed_in? && Clearance.configuration.rotate_csrf_on_sign_in?
        session.delete(:_csrf_token)
        form_authenticity_token
      end
    end
def sign_in(user, &block)
      clearance_session.sign_in(user, &block)

      if signed_in? && Clearance.configuration.rotate_csrf_on_sign_in?
        session.delete(:_csrf_token)
        form_authenticity_token
      end
    end
Sign in the provided user.
 @param [User] user

 Signing in will run the stack of {Configuration#sign_in_guards}.

 You can provide a block to this method to handle the result of that stack.
 Your block will receive either a {SuccessStatus} or {FailureStatus}

     sign_in(user) do |status|
       if status.success?
         # ...
       else
         # ...
       end
     end

 For an example of how clearance uses this internally, see
 {SessionsController#create}.

 Signing in will also regenerate the CSRF token for the current session,
 provided {Configuration#rotate_csrf_token_on_sign_in} is set.