Skip to content
Snippets Groups Projects
Commit 45795782 authored by Shirlei Chaves's avatar Shirlei Chaves
Browse files

Get user by type and id to avoid cross-user sec risk.

parent 358746af
No related branches found
No related tags found
No related merge requests found
...@@ -57,7 +57,7 @@ def password_login_view(request): ...@@ -57,7 +57,7 @@ def password_login_view(request):
try: try:
user = User.get_by_type_and_id('password', username) user = User.get_by_type_and_id('password', username)
if password_check(user, password): if password_check(user, password):
request.session['password_user_id'] = user.id request.session['password_user_id'] = user.user_id
return HttpResponseRedirect(reverse(after)) return HttpResponseRedirect(reverse(after))
except User.DoesNotExist: except User.DoesNotExist:
pass pass
...@@ -105,8 +105,7 @@ def get_auth_url(request, redirect_url = None): ...@@ -105,8 +105,7 @@ def get_auth_url(request, redirect_url = None):
def get_user_info_after_auth(request): def get_user_info_after_auth(request):
from helios_auth.models import User from helios_auth.models import User
user_id = request.session['password_user_id'] user = User.get_by_type_and_id('password', request.session['password_user_id'])
user = User.objects.get(id=request.session['password_user_id'])
del request.session['password_user_id'] del request.session['password_user_id']
return {'type': 'password', 'user_id' : user.user_id, 'name': user.name, 'info': user.info, 'token': None} return {'type': 'password', 'user_id' : user.user_id, 'name': user.name, 'info': user.info, 'token': None}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment