Как проверить права доступа(роли) на клиенте и сервере?
Здравствуйте,
пишу api на nodejs + expressjs (отдельный api-сервер)
клиент на nuxtjs(SSR) и также планируется android app
Авторизация реализована с JWT
Вопрос - как реализовывается проверка доступа по ролям для клиента, например для nuxtjs можно дергать с api-сервера проверку для конкретного роута (страница сначала рендерится на клиент-сервере nuxt), то как будут обстоять дела для зависящих компонент, не будет ли такой процесс избыточным - т.е. например, переходим на страницу поста, сервер запрашивет api на просмор страницы, потом рендерит и отдает юзеру, юзер нажимает на кнопку и в зависимости от его прав рендерится нужный компонент - как безопасно проверить контроль доступа к нужному компоненту? вопрос возник от понимания, что на клиенте ручками в коде все это можно менять. Вобщем подскажите, как можно максимально безопасно проверять права пользователей к страницам и компонентам? Как вариант, можно отправлять в токене, но насколько понял этот вариант тоже не безопасный
на клиенте можно что угодно сделать, но сервер это не должно волновать, если даже кто-то докопается до кнопки удалить пользователя (v-show=false - к примеру) вас, как бекенд, это не должно волновать - если нет прав на доступ к этому методу, он не должен выполняется. А ui просто должен следовать за сервером, нет доступа - нет элементов на странице. Ну в любом случае в v-router есть хуки которыми вы можете проверять доступ к переходам. Если сможете хорошо закешировать модель доступа - то это не повлечет накладных расходов на рендер.