левой системы который дает sid и ID пользователя при вызове метода авторизации, а другая родная джанговская авторизация). Я правильно понимаю я сначала авторизуюсь в левой системе которая выдает мне SID, заношу этого пользователя в юзеры джанги, если он не существует, а потом авторизуюсь в самой джанге? Хранить SID и ID пользователя можно в принципе в user, подправив немного models.py. Но тогда встает вопрос: как сохранять SID и ID при аутентификации:
def auth(request, k_response = None):
if request.method == 'POST':
if k_response is None:
response = kiasAuth(request.POST['Name'],request.POST['Psw'])
if not response['error']:
if username_present(request.POST['Name']):
print('user exists, login')
user.sid = response['sid']
user.kiasISN = response['kiasISN']
user = authenticate(request, username=request.POST['Name'], password=request.POST['Psw'])
else:
print('create user, login')
user = User.objects.create_user(request.POST['Name'], 'olo@test.ru', request.POST['Psw'])
user.save()
auth(request,response)
return render(request,'front/login.html',context =
{
'error_message':response['error'],
'message':response['message'],
'output':response['kiasISN'] + ' ' +response['sid'],
})
return render(request,'front/login.html')
Допустим я везде при вызове методов требующих авторизации тыкаю SID, у этой системы есть время жизни SID. и при вызове любого метода с умершим сидом выдается ошибка. Получается я ловлю эту ошибку, и делаю логаут с апдейтом user как-то так
def logout_view(request):
logout(request)
user.SID = None
# Redirect to a success page.
?
Выглядит как будто ты хочешь сделать 2fa
Обсуждают сегодня