|
5 | 5 | # This file is subject to the terms and conditions defined in |
6 | 6 | # file 'LICENSE.md', which is part of this source code package. |
7 | 7 | # |
8 | | - |
9 | | -try: |
10 | | - from . import settings |
11 | | -except ImportError: |
12 | | - import settings |
13 | 8 | from django.contrib.auth.decorators import login_required |
14 | 9 | from django.http import HttpResponse |
15 | 10 | from django.shortcuts import redirect |
16 | 11 | from django.utils import timezone |
17 | 12 | from django.utils.crypto import get_random_string |
18 | 13 | from .models import Credentials |
| 14 | +from . import settings |
19 | 15 | from datetime import timedelta |
20 | 16 | import requests |
21 | 17 |
|
@@ -51,7 +47,16 @@ def callback(request=None): |
51 | 47 | raise Exception(request.GET['error']) |
52 | 48 |
|
53 | 49 | uid = _check_state(request) |
54 | | - data = _exchange_auth_code(request) |
| 50 | + code = request.GET['code'] |
| 51 | + data = { |
| 52 | + 'grant_type': 'authorization_code', |
| 53 | + 'code': code, |
| 54 | + 'client_id': settings.REPLYIFY_CLIENT_ID, |
| 55 | + 'redirect_uri': settings.REPLYIFY_REDIRECT_URI |
| 56 | + } |
| 57 | + url = settings.REPLYIFY_TOKEN_URL |
| 58 | + r = requests.post(url=url, data=data) |
| 59 | + data = r.json() |
55 | 60 | creds = _store_credentials(uid, data) |
56 | 61 |
|
57 | 62 | return HttpResponse(creds) |
@@ -98,19 +103,6 @@ def _check_state(request=None): |
98 | 103 | return uid |
99 | 104 |
|
100 | 105 |
|
101 | | -def _exchange_auth_code(request=None): |
102 | | - code = request.GET['code'] |
103 | | - data = { |
104 | | - 'grant_type': 'authorization_code', |
105 | | - 'code': code, |
106 | | - 'client_id': settings.REPLYIFY_CLIENT_ID, |
107 | | - 'redirect_uri': settings.REPLYIFY_REDIRECT_URI |
108 | | - } |
109 | | - url = settings.REPLYIFY_TOKEN_URL |
110 | | - r = requests.post(url=url, data=data) |
111 | | - return r.json() |
112 | | - |
113 | | - |
114 | 106 | def _store_credentials(user, data=None): |
115 | 107 | assert user is not None |
116 | 108 | creds, _ = Credentials.objects.get_or_create(user=user) |
|
0 commit comments