from django.http import JsonResponse from oauth2_provider import views as oauth2_views class UserInfoEndpoint(oauth2_views.generic.ScopedProtectedResourceView): required_scopes = ['profile'] def get(self, request, *args, **kwargs): user = request.resource_owner if user.email_verified: email = user.email else: email = user.email or user.signup_email return JsonResponse({ 'openid': user.openid, 'username': user.username, 'name': user.name, 'avatar_url': user.avatar_url, 'phone': user.phone, 'email': email, 'email_verified': user.email_verified, })