use settings
This commit is contained in:
parent
704dfee977
commit
6e25e279e2
2 changed files with 25 additions and 15 deletions
|
@ -127,4 +127,17 @@ STATIC_URL = '/static/'
|
|||
|
||||
# Custom stuff
|
||||
|
||||
SERVER_URL = 'http://localhost:8000'
|
||||
|
||||
AUTH_USER_MODEL = 'users.CustomUser'
|
||||
|
||||
_BASE_OAUTH_URL = 'https://adams.ugent.be/oauth'
|
||||
|
||||
OAUTH = {
|
||||
'USER_API_URI': f'{_BASE_OAUTH_URL}/api/current_user/',
|
||||
'ACCESS_TOKEN_URI': f'{_BASE_OAUTH_URL}/oauth2/token/',
|
||||
'AUTHORIZE_URI': f'{_BASE_OAUTH_URL}/oauth2/authorize/',
|
||||
'REDIRECT_URI': f'{SERVER_URL}/login/zeus/authorized',
|
||||
'CLIENT_ID': 'tomtest',
|
||||
'CLIENT_SECRET': 'blargh',
|
||||
}
|
|
@ -1,19 +1,13 @@
|
|||
import logging
|
||||
|
||||
import requests
|
||||
from django.conf import settings
|
||||
from django.contrib.auth import login
|
||||
from django.http.request import HttpRequest
|
||||
from django.shortcuts import redirect
|
||||
|
||||
from users.models import CustomUser
|
||||
|
||||
USER_API_URI = 'https://adams.ugent.be/oauth/api/current_user/'
|
||||
ACCESS_TOKEN_URI = 'https://adams.ugent.be/oauth/oauth2/token/'
|
||||
AUTHORIZE_URI = 'https://adams.ugent.be/oauth/oauth2/authorize/'
|
||||
|
||||
CLIENT_ID = 'tomtest'
|
||||
CLIENT_SECRET = 'blargh'
|
||||
|
||||
logger = logging.getLogger(__file__)
|
||||
|
||||
|
||||
|
@ -23,17 +17,20 @@ class OAuthException(Exception):
|
|||
|
||||
def register(_):
|
||||
RESPONSE_TYPE = 'code'
|
||||
REDIRECT_URI = 'http://localhost:8000/login/zeus/authorized'
|
||||
return redirect(f'{AUTHORIZE_URI}?response_type={RESPONSE_TYPE}&client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}')
|
||||
return redirect(f'{settings.OAUTH["AUTHORIZE_URI"]}?'
|
||||
f'response_type={RESPONSE_TYPE}&'
|
||||
f'client_id={settings.OAUTH["CLIENT_ID"]}&'
|
||||
f'redirect_uri={settings.OAUTH["REDIRECT_URI"]}')
|
||||
|
||||
|
||||
def register_callback(req: HttpRequest):
|
||||
code = req.GET['code']
|
||||
response = requests.post(ACCESS_TOKEN_URI, data={'code': code,
|
||||
'grant_type': 'authorization_code',
|
||||
'client_id': CLIENT_ID,
|
||||
'client_secret': CLIENT_SECRET,
|
||||
'redirect_uri': 'http://localhost:8000/login/zeus/authorized'})
|
||||
response = requests.post(settings.OAUTH["AUTHORIZE_URI"],
|
||||
data={'code': code,
|
||||
'grant_type': 'authorization_code',
|
||||
'client_id': settings.OAUTH["CLIENT_ID"],
|
||||
'client_secret': settings.OAUTH["CLIENT_SECRET"],
|
||||
'redirect_uri': settings.OAUTH["REDIRECT_URI"]})
|
||||
try:
|
||||
if response.status_code == 200:
|
||||
json: dict = response.json()
|
||||
|
@ -64,5 +61,5 @@ def validate_user(zeus_id, username) -> CustomUser:
|
|||
|
||||
|
||||
def user_info(access_token):
|
||||
r = requests.get(USER_API_URI, headers={'Authorization': f'Bearer {access_token}'})
|
||||
r = requests.get(settings.OAUTH["USER_API_URI"], headers={'Authorization': f'Bearer {access_token}'})
|
||||
return r.json()
|
||||
|
|
Loading…
Reference in a new issue