Yeah that's a good point. Maybe we could have an authorize! method and an authenticate! method. And authorize! will be something like
```ruby
    def authenticate!
      error!('401 Unauthorized', 401) unless authenticated?
    end

    def authorize!(*args)
      authenticate!

      auth = authorization(*args)
      error!(auth.error_message, 403) if auth.forbidden?
    end
```