better SSL authentication handling
This commit is contained in:
parent
c403ac1ff3
commit
d3eb245d96
|
@ -7,7 +7,7 @@ from django.contrib.auth import authenticate, login
|
|||
from django.contrib import messages
|
||||
|
||||
from authentic2.auth2_auth.auth2_ssl import models, util
|
||||
from authentic2.utils import continue_to_next_url, redirect
|
||||
from authentic2.utils import continue_to_next_url, redirect, redirect_to_login
|
||||
|
||||
from .backends import BeIDBackend
|
||||
|
||||
|
@ -17,12 +17,20 @@ logger = logging.getLogger(__name__)
|
|||
def handle_authentication(request, *args, **kwargs):
|
||||
ssl_info = util.SSLInfo(request)
|
||||
logger.debug('received SSL info: %s', ssl_info)
|
||||
user = authenticate(ssl_info=ssl_info)
|
||||
logger.debug('got user: %s', user)
|
||||
if not request.user.is_authenticated():
|
||||
login(request, user)
|
||||
user = authenticate(ssl_info=ssl_info)
|
||||
logger.debug('got user: %s', user)
|
||||
if user:
|
||||
login(request, user)
|
||||
else:
|
||||
messages.error(request, _('Authentication with your BeID card failed.'
|
||||
'Please make sure your eID card is linked to your account and is plugged in.'
|
||||
))
|
||||
return redirect_to_login(request)
|
||||
|
||||
return continue_to_next_url(request)
|
||||
|
||||
|
||||
def add_beid(request):
|
||||
if request.user.is_authenticated:
|
||||
ssl_info = util.SSLInfo(request)
|
||||
|
|
Reference in New Issue