Skip to content

Commit 2e8ec89

Browse files
committed
add base64 encode/decode
1 parent ff28a21 commit 2e8ec89

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

account/views.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
from .decorator import password_verify_required
2424

2525
import os.path
26-
import secrets
26+
import base64
2727

2828
# Create your views here.
2929
class AccountSessionView(APIView):
@@ -233,13 +233,17 @@ def post(self, request, vid=None):
233233
if vid == None:
234234
# send mail
235235
signature = signer.sign(user.username)
236+
signature = base64.urlsafe_b64encode(signature.encode())
237+
signature = signature.decode()
236238
user.email_user(settings.VERIFY_EMAIL_TEMPLATE_TITLE,
237239
settings.VERIFY_EMAIL_TEMPLATE_CONTENT.format(username=user.username, signature=signature),
238240
html_message=settings.VERIFY_EMAIL_TEMPLATE_CONTENT.format(username=user.username, signature=signature),)
239241
return Response({
240242
"detail": "Email sent"
241243
}, status=status.HTTP_202_ACCEPTED)
242244

245+
vid = base64.urlsafe_b64decode(vid.encode())
246+
vid = vid.decode()
243247
try:
244248
value = signer.unsign(vid, max_age=timedelta(minutes=settings.VERIFY_EMAIL_MAX_AGE))
245249
except SignatureExpired:

segmentoj/settings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,6 @@
166166
VERIFY_EMAIL_TEMPLATE_CONTENT = """Hi, {username}<br/>
167167
It seems that you have just requested an email verify!<br/>
168168
<strong>You code is:</strong> <code>{signature}</code><br/>
169-
Please use it in 0 minutes.<br/>
169+
Please use it in 20 minutes.<br/>
170170
"""
171-
VERIFY_EMAIL_MAX_AGE = 0
171+
VERIFY_EMAIL_MAX_AGE = 20

0 commit comments

Comments
 (0)