forked from enviPath/enviPy
[Feature] OAuth2 Provider (#84)
Fixes #74 Co-authored-by: Tim Lorsbach <tim@lorsba.ch> Reviewed-on: enviPath/enviPy#84
This commit is contained in:
@ -46,6 +46,7 @@ def login(request):
|
||||
|
||||
if request.method == 'GET':
|
||||
context['title'] = 'enviPath'
|
||||
context['next'] = request.GET.get('next', '')
|
||||
return render(request, 'login.html', context)
|
||||
|
||||
elif request.method == 'POST':
|
||||
@ -59,7 +60,7 @@ def login(request):
|
||||
username = request.POST.get('username')
|
||||
password = request.POST.get('password')
|
||||
|
||||
# Get email for username and check if account is active
|
||||
# Get email for username and check if the account is active
|
||||
try:
|
||||
temp_user = get_user_model().objects.get(username=username)
|
||||
|
||||
@ -79,6 +80,10 @@ def login(request):
|
||||
|
||||
if user is not None:
|
||||
login(request, user)
|
||||
|
||||
if next := request.POST.get('next'):
|
||||
return redirect(next)
|
||||
|
||||
return redirect(s.SERVER_URL)
|
||||
else:
|
||||
context['message'] = "Login failed!"
|
||||
@ -2213,3 +2218,18 @@ def depict(request):
|
||||
return HttpResponse(IndigoUtils.smirks_to_svg(smirks, query_smirks), content_type='image/svg+xml')
|
||||
else:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.http import JsonResponse
|
||||
|
||||
@login_required
|
||||
def userinfo(request):
|
||||
user = request.user
|
||||
return JsonResponse({
|
||||
"sub": str(user.uuid),
|
||||
"email": user.email,
|
||||
"username": user.username,
|
||||
"name": user.get_full_name() or user.username,
|
||||
"email_verified": user.is_active,
|
||||
})
|
||||
Reference in New Issue
Block a user