Auth

1. нет никакйо магии. current_user возвращает объект класса User. Sorcery ищет этот объект по данным хранящимся в кукисах\сессии.
2. Зачем защизать несуществующий id? Его не существует же.
3. У тебя уже стоит require_login, не вижу смысла ещё одну проверку делать