Определять эти условия было бы желательно в контроллере, как во втором варианте, что я указал в вопросе, но при этом с использованием внедрения зависимостей.Так где вы хотите определять условия?
User и через него работайте. Ларавел вам туда передаст просто пустой инстанс юзера.
auth:api, который сделает тоже самое?