Harmony/users/views.py

46 lines
1.4 KiB
Python
Raw Normal View History

2024-03-19 11:07:56 +00:00
2024-03-14 10:25:32 +00:00
import logging
2024-03-19 11:07:56 +00:00
2024-03-05 11:23:18 +00:00
from django.shortcuts import redirect
2024-03-14 10:25:32 +00:00
from django.conf import settings
2024-03-05 11:23:18 +00:00
from keycloak import KeycloakOpenID
2024-03-19 11:07:56 +00:00
from urllib.parse import urlencode
2024-03-14 10:25:32 +00:00
from django.contrib.auth import logout
2024-02-24 06:59:47 +00:00
2024-03-14 10:25:32 +00:00
logger = logging.getLogger(__name__)
2024-03-05 11:23:18 +00:00
def keycloak_login(request):
2024-03-14 10:25:32 +00:00
2024-03-05 11:23:18 +00:00
keycloak_openid = KeycloakOpenID(
server_url=settings.KEYCLOAK_CONFIG['SERVER_URL'],
client_id=settings.KEYCLOAK_CONFIG['CLIENT_ID'],
realm_name=settings.KEYCLOAK_CONFIG['REALM'],
client_secret_key=settings.KEYCLOAK_CONFIG['CLIENT_SECRET']
)
2024-03-14 10:25:32 +00:00
redirect_uri = settings.KEYCLOAK_CONFIG['CALLBACK_URL']
auth_url = keycloak_openid.auth_url(redirect_uri=redirect_uri)
logger.info('Запрос успешно обработан')
return redirect(auth_url)
from django.http import HttpResponse
from django.views.decorators.http import require_http_methods
import logging
@require_http_methods(["GET"])
def keycloak_redirect(request):
# Extract the authorization code from the query parameters
authorization_code = request.GET.get('code')
if authorization_code:
# Proceed with the token exchange process here
print(authorization_code)
logger.info(' 2 Запрос успешно обработан')
return HttpResponse("Authorization code received.")
else:
return HttpResponse("Authorization code not found.", status=400)