Как реализовать вход в систему на VUE.JS?

Помогите разобраться вот в чем - если у нас SPA, то получается мы отдаем один js-файл и отрисовываем страницу уже на клиенте по нужным нам сценариям, но вот вопрос, получается даже не авторизованный пользователь сможет просмотреть весь наш, например main.js и узнать, например, на какие url мы делаем запросы за данными. Понятно что без авторизации данные от API он не получит, но будет знать структуру нашего API? Или не так? Буду благодарен ссылкам на статьи (можно и на англ) о том как реализуется авторизация в настоящих (не образцов для туториалов) SPA приложениях.
PS: Для бекенда используется django-rest-framework
  • Вопрос задан
  • 735 просмотров
Пригласить эксперта
Ответы на вопрос 4
yarkov
@yarkov Куратор тега Vue.js
Помог ответ? Отметь решением.
Он и в DevTools -> Network все ваши запросы посмотреть может, с заголовками и ответами. Вопрос-то в чём?
Ответ написан
@strelok011
Я бы посоветовал отталкиваться от следующей концепции:

1. фронт у вас должен отвечать только за визуализацию - все чувствительные данные отдаются бэком и туда же возвращаются. Вам должно быть реально всё равно, что ваш js смогут распарсить, без авторизации нет смысла. Так же если вы желаете прикрыть какой-то суперуникальный код на фронте - сборщики с обфускацией, прочая фигня ))

2. Авторизацию можно делать по схеме jwt-токена с выпуском короткоживущего токена, которым подписываются запросы в бэк, к нему рефреш токен для обновления. Токены можно хранить в локалсторе, чтобы выгрузка браузера не потерла состояние авторизованности. Примеров в интернете должно быть полно. Время жизни токенов выбираете на свой вкус.
Ответ написан
@Slui861
На самом деле мне тоже это не нравится. Этот вопрос я решил довольно просто. Отдельная страница авторизации, и уже ПОСЛЕ успешной авторизации загрузка SPA. Тут пишут типа в чём проблема? Ну так-то DDOS никто не отменял. Авторизация может проходить через один сервер, а работа с АПИ через другой. Дабы закрыть апи от внешнего мира.
Ответ написан
@Just__Den
FULL STACK
сокрытие эндпоинтов:

- невозможно
- в плане безопасности тебе ничего не даст

реализуй подгрузку скрытых данных по авторизации через jwt-токен. Этого будет достаточно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы