You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
664 B
23 lines
664 B
import datetime, random, string
|
|
import pytz
|
|
|
|
from django.conf import settings
|
|
import jwt
|
|
|
|
|
|
def generate_jwt(pk):
|
|
dt = datetime.datetime.now(tz=pytz.timezone('Europe/Moscow')) + datetime.timedelta(
|
|
seconds=settings.ACCESS_TOKEN_LIFETIME['seconds'],
|
|
minutes=settings.ACCESS_TOKEN_LIFETIME['minutes'],
|
|
hours=settings.ACCESS_TOKEN_LIFETIME['hours'],
|
|
days=settings.ACCESS_TOKEN_LIFETIME['days']
|
|
)
|
|
token = jwt.api_jwt.encode({
|
|
'id': pk,
|
|
'exp': dt,
|
|
}, settings.SECRET_KEY, algorithm='HS256')
|
|
return token
|
|
|
|
|
|
def generate_rt():
|
|
return ''.join([random.choice(string.ascii_letters) for i in range(128)]) |