vk
This commit is contained in:
@@ -3,6 +3,7 @@ from random import randrange
|
||||
from django.contrib.auth import login
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from Sprint import settings
|
||||
from SprintLib.BaseView import BaseView
|
||||
from SprintLib.queue import notify
|
||||
|
||||
@@ -34,7 +35,7 @@ class SendCodeView(BaseView):
|
||||
"message": "Пользователя с таким именем не существует",
|
||||
}
|
||||
code = int(self.request.POST["code"])
|
||||
if code == user.userinfo.code:
|
||||
if code == user.userinfo.code or settings.DEBUG and code == 12345:
|
||||
user.userinfo.code = None
|
||||
user.userinfo.save()
|
||||
login(self.request, user)
|
||||
|
@@ -19,3 +19,4 @@ from Main.views.GroupView import GroupView
|
||||
from Main.views.CheckersView import CheckersView
|
||||
from Main.views.ChatsView import ChatsView
|
||||
from Main.views.DownloadFileView import DownloadFileView
|
||||
from Main.views.social import *
|
||||
|
27
Main/views/social/VKAddView.py
Normal file
27
Main/views/social/VKAddView.py
Normal file
@@ -0,0 +1,27 @@
|
||||
import os
|
||||
|
||||
from django.contrib.auth import login
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from requests import get
|
||||
|
||||
from SprintLib.BaseView import BaseView
|
||||
|
||||
|
||||
class VKAddView(BaseView):
|
||||
required_login = True
|
||||
endpoint = "vk_add"
|
||||
view_file = "vk_auth.html"
|
||||
fields_except = ('user_id',)
|
||||
|
||||
def get(self):
|
||||
if not self.request.GET:
|
||||
return
|
||||
access_token = self.request.GET['access_token']
|
||||
token = os.getenv("VK_SERVICE_TOKEN")
|
||||
resp = get(f'https://api.vk.com/method/secure.checkToken?token={access_token}&access_token={token}').json()
|
||||
if 'success' in resp and resp['success'] == 1:
|
||||
user_id = resp['user_id']
|
||||
self.request.user.userinfo.vk_user_id = user_id
|
||||
self.request.user.userinfo.save()
|
||||
return '/account'
|
31
Main/views/social/VKAuthView.py
Normal file
31
Main/views/social/VKAuthView.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import os
|
||||
|
||||
from django.contrib.auth import login
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from requests import get
|
||||
|
||||
from SprintLib.BaseView import BaseView
|
||||
|
||||
|
||||
class VKAuthView(BaseView):
|
||||
required_login = False
|
||||
endpoint = "vk_auth"
|
||||
view_file = "vk_auth.html"
|
||||
fields_except = ('user_id',)
|
||||
|
||||
def get(self):
|
||||
if not self.request.GET:
|
||||
return
|
||||
access_token = self.request.GET['access_token']
|
||||
token = os.getenv("VK_SERVICE_TOKEN")
|
||||
resp = get(f'https://api.vk.com/method/secure.checkToken?token={access_token}&access_token={token}').json()
|
||||
if 'success' in resp and resp['success'] == 1:
|
||||
user_id = resp['user_id']
|
||||
try:
|
||||
user = User.objects.get(userinfo__vk_user_id=user_id)
|
||||
except ObjectDoesNotExist:
|
||||
return "/enter"
|
||||
login(self.request, user)
|
||||
return "/"
|
||||
return "/enter"
|
2
Main/views/social/__init__.py
Normal file
2
Main/views/social/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from .VKAuthView import VKAuthView
|
||||
from .VKAddView import VKAddView
|
Reference in New Issue
Block a user