Нашел решение (временное), возможно кому то пригодится.
Думаю оно не совсем верное, но когда сроки поджимают а сделать надо, использую пока его, в дальнейшем перепишу.
1. Пользователь авторизируется так же на Django шаблоне (Жмет на кнопку "Авторизация" > Редирект на госуслуги > получаем ответ от туда > Идем на Django)
2. Далее, у меня сделано по ролям, при попадании на стартовую страницу "обычный" юзер сразу редиректится на Vue приложение, кто ролями по выше (Администраторы и руководство) остаются на старой странице (Там необходимый функционал, который еще не перенесен на Vue)
В классе вьюхи стартовой страницы
def get(self, request, *args, **kwargs):
if request.user.roles and request.user.roles[0] in ("default"):
return redirect(vue_url()) # Перенаправление на VUE
context = self.get_context_data(**kwargs)
return self.render_to_response(context)
3. Далее, на Vue, у меня уже содержится GET запрос, который отправляется при загрузке страницы, для получения необходимых данных для дальнейшей обработки информации, в моем случае это СНИЛС.
@login_required
def user_snils(request):
user = request.user
user_data = {
'snils': user.snils,
'name': f'{user.last_name} {user.first_name}',
'role':user.roles
}
return JsonResponse(user_data)
4. Ну и дальнейшая обработка данных.
Так же, сделал проверку на Vue, что если СНИЛСа не подтягивается (от GET запроса) то пользователя редиректит обратно на логин в Django.
if (this.userInfo && this.userInfo.snils && this.userInfo.snils.length === 11) {
this.docSnils = this.userInfo.snils;
} else {
alert("Вы не авторизованы, перенаправление на главную страницу.");
window.location.href = `${config.apiUrl}/`;
return;
}