def sign_in user
      Oath.config.sign_in_service.new(user, warden).perform.tap do |status|
        if status && block_given?
          yield
        end
      end
    end
def sign_in user
      Oath.config.sign_in_service.new(user, warden).perform.tap do |status|
        if status && block_given?
          yield
        end
      end
    end
Sign in a user

 @note Uses the {Oath::Services::SignIn} service to create a session

 @param user [User] the user object to sign in
 @yield Yields to the block if the user is successfully signed in
 @return [Object] returns the value from calling perform on the {Oath::Services::SignIn} service