1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-14 22:33:17 +00:00
Files
seahub/seahub/views/sso.py
lian 0019ec6de0 Update OAuth
1, custom for sjtu.edu.cn's 'user_id' field
2, add user auth token to cookie
2018-05-12 13:59:17 +08:00

32 lines
1.1 KiB
Python

# Copyright (c) 2012-2016 Seafile Ltd.
from django.conf import settings
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.utils.http import is_safe_url
from seahub.auth import REDIRECT_FIELD_NAME
def sso(request):
# Ensure the user-originating redirection url is safe.
if REDIRECT_FIELD_NAME in request.REQUEST:
next_page = request.REQUEST[REDIRECT_FIELD_NAME]
if not is_safe_url(url=next_page, host=request.get_host()):
next_page = settings.LOGIN_REDIRECT_URL
else:
next_page = reverse('libraries')
if getattr(settings, 'ENABLE_SHIB_LOGIN', False):
return HttpResponseRedirect(next_page)
if getattr(settings, 'ENABLE_KRB5_LOGIN', False):
return HttpResponseRedirect(next_page)
if getattr(settings, 'ENABLE_ADFS_LOGIN', False):
return HttpResponseRedirect(reverse('saml2_login'))
if getattr(settings, 'ENABLE_OAUTH', False):
return HttpResponseRedirect(reverse('oauth_login'))
def shib_login(request):
return sso(request)