23 lines
		
	
	
		
			697 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			697 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Passbook v1 OpenID API"""
 | 
						|
from django.http import JsonResponse
 | 
						|
from django.views import View
 | 
						|
from oauth2_provider.views.mixins import ScopedResourceMixin
 | 
						|
 | 
						|
 | 
						|
class OpenIDUserInfoView(ScopedResourceMixin, View):
 | 
						|
    """Passbook v1 OpenID API"""
 | 
						|
 | 
						|
    required_scopes = ["openid:userinfo"]
 | 
						|
 | 
						|
    def get(self, request, *_, **__):
 | 
						|
        """Passbook v1 OpenID API"""
 | 
						|
        payload = {
 | 
						|
            "sub": request.user.uuid.int,
 | 
						|
            "name": request.user.get_full_name(),
 | 
						|
            "given_name": request.user.name,
 | 
						|
            "family_name": "",
 | 
						|
            "preferred_username": request.user.username,
 | 
						|
            "email": request.user.email,
 | 
						|
        }
 | 
						|
        return JsonResponse(payload)
 |