SciPost Code Repository

Skip to content
Snippets Groups Projects
views.py 1.01 KiB
Newer Older
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


import json
import logging
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from oauth2_provider.decorators import protected_resource

log = logging.getLogger(__name__)

@csrf_exempt
@protected_resource()
def userinfo(request):
    """
    Return basic user info, required for using SciPost as OAuth2 authorization server
    """
    log.debug(request.headers)
    log.debug(request.META)
    log.debug(request.GET)
    log.debug(request.user)
    log.debug(request.user.is_authenticated)
    user = request.user
    return HttpResponse(
        json.dumps({
            'provider': 'SciPost',
            'uid': user.id,
            'username': user.username,
            'name': ("%s %s" % (user.first_name, user.last_name)),
            'last_name': user.last_name,
            'first_name': user.first_name,
            'email': user.email
        }),
        content_type='application/json')