vk
This commit is contained in:
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