Added CAS Auth middleware and CAS Login urls to remie platform + removed authserver/homestead/.vagrant from repo
--- a/.hgignore Wed May 27 15:34:06 2015 +0200
+++ b/.hgignore Tue Jun 02 10:41:10 2015 +0200
@@ -39,3 +39,6 @@
server/web/*
server/src/dist
server/src/MANIFEST.in
+
+syntax: regexp
+^authserver/homestead/\.vagrant$
\ No newline at end of file
--- a/authserver/homestead/.vagrant/machines/default/virtualbox/action_provision Wed May 27 15:34:06 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-1.5:859c39e6-35df-4962-82f3-dd9ee4fc2372
\ No newline at end of file
--- a/authserver/homestead/.vagrant/machines/default/virtualbox/action_set_name Wed May 27 15:34:06 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-1433757191
--- a/authserver/homestead/.vagrant/machines/default/virtualbox/id Wed May 27 15:34:06 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-859c39e6-35df-4962-82f3-dd9ee4fc2372
\ No newline at end of file
--- a/authserver/homestead/.vagrant/machines/default/virtualbox/index_uuid Wed May 27 15:34:06 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-b18023f8440641c693695a091f87e673
\ No newline at end of file
--- a/authserver/homestead/.vagrant/machines/default/virtualbox/private_key Wed May 27 15:34:06 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAt6e7vjPOZRl8bOBsFUCPqvHfqIv4ZhN9fYLwo6OwdRcbCJIM
-vdT1HtsV9A8doyVLz2rohuBzZ4j1ZE2OxXqR4oPvxoJppZEPRaD12vsKH5HMF5D3
-58TFh4ttUfHeMGiO4PMUYFiCmwg9luoAQ9+wsMO54kQBYND1QJOsbkabSOZFpZyJ
-GKsm3EKWs2+rNIA+akSxxbjEi4PpPu1cIpJSXoecD5gvCBbapkTP5ryeR7/kJyCF
-5gDmEyc2G3v+sT2KpglIyZgvch5gly0FXcM1hWYfxThOsV15/0SehuAH78Qj5b1Q
-mtRyfaIzTxp6DbjmFX+Lt0oKdviUShUmKycgGQIDAQABAoIBAHt/eYovgC0P9FGq
-oEOyRGnpeEL4zLKnjI1oDbWcjz5NqUocHCFTIPn8zUhvGbjpjY8PDwoTyMbonEs0
-tDsrbwppOkW80Jobb6+cy3bTtT0BZ8K5I1thQIsjQQIHqSfYR6wRCbS4ECt8YR4o
-gMEjnMdg9pCmtl6KZUFljGAjbqyXt3Mezgld4ytJ9bl6ZuZHe+BTWOTpx7SCsw2n
-njLbHyuf2JotE4iz72nPAz8TJye8zY1zG8VCqnglyHt5kOnqXPivmBbP4drqWPSi
-s3QGD6PS2wNk9CFDfkf8S1n9IwKMvJMmKMIwrj8zPHnuPdxGnUvj1bVXVXsW7m/2
-bx5ClVkCgYEA7ms+Or5OFG2QjVIkCEf7JyHHOjBqLI0v5Pu/3rVAGlHDvA+y3+rX
-bUmguDd+toVv2B8u+0xxtVgFg2taqW/wKFn8vcXo5h85p7pEPMXMuRHY0S51EmTI
-/aHUl+iGiRg4QP3wAuArmE/Rs4F6m/FDg/Wg44mSibxPqmyAlfnvcjsCgYEAxTKv
-/wxfiClCrGHXPBQWkbOuYgfSDt2t+feHn1BKwpa4uHPDQjs2nsM5ciQOqmlU4lg4
-H+Mw4MKoluzzFHoPUOwX+HPVEFtQsw9VOW8SGpJHRQCx1bBSXAYaRzNhhINpRSiX
-Mx9GEBkmNMqZg4v5zm9gPsBILPBDJ7+xrtkKHbsCgYBNAQg9Ut/HC0gnzMLkhdMh
-ZXCCY8a3EvbIH2NuG95TYds1L2DXn3Lq0l/9f7cGXnysMg4rjhoftwk41ACZPxUz
-AzV1WamKQcWOXcPSWRRxJcmAbl/TjAe6m30dfzWMq+znWN0fIKYT8JvLPWOLYFYt
-FbVcKD/TCqY0Zgz1456ppwKBgGarKjiG76ILoVvwoMf1yX5YZ31AhxwYTIEtX94R
-RqsjH89g7hMokxp7mAgWP9B3gKtLtQTdG1CZ6H6TpUdO+XRvR1eirxaSBGUFoaCC
-dJGDAToqz2vrHiYtQzc4yBfe90r7hCUoriipf1vS87Qqh4f0Ms7Y+3ryKHSkeFUJ
-SRwLAoGBAI/2WCyXz6vq7HpkBvn2r70XtDiOuVSJM8yX+mGGuY9EMkQffD0ZvrI0
-y/Qy5c8aqPkedTJGtdeoRLXQbML7ieQ1TH6ssWJT5ds8WXg2nff1CAT4G1kC238q
-Dbc7vU7JeMV61G76Kcu9gi3L9ZgCU/etDzPqYj8fbvfzGWPWj6qB
------END RSA PRIVATE KEY-----
--- a/authserver/homestead/.vagrant/machines/default/virtualbox/synced_folders Wed May 27 15:34:06 2015 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-{"virtualbox":{"/home/vagrant/Code":{"type":null,"mount_options":[],"guestpath":"/home/vagrant/Code","hostpath":"/Users/durandn/IRIProjects/remie/authserver/testCAS","disabled":false},"/vagrant":{"guestpath":"/vagrant","hostpath":"/Users/durandn/IRIProjects/remie/authserver/homestead","disabled":false}}}
\ No newline at end of file
--- a/authserver/testCAS/app/Http/Controllers/HomeController.php Wed May 27 15:34:06 2015 +0200
+++ b/authserver/testCAS/app/Http/Controllers/HomeController.php Tue Jun 02 10:41:10 2015 +0200
@@ -40,7 +40,7 @@
$proxiedRequestResponse=curl_exec($ch);
curl_close($ch);
- $loginUrl=env("LDT_URL")."/accounts/caslogin";
+ $loginUrl=env("LDT_URL")."/accounts/cas/login";
return view('home')->with(
array("pt" => $pt, "err_code" => $err_code, "err_msg" => $err_msg, "proxiedRequestResponse" => $proxiedRequestResponse, 'loginUrl' => $loginUrl)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/server/src/remie/middleware/cas_proxy_auth.py Tue Jun 02 10:41:10 2015 +0200
@@ -0,0 +1,37 @@
+from urllib import urlencode
+from urlparse import urlparse, urlunparse, parse_qsl
+
+from django.contrib.auth import authenticate, login
+
+from ldt.security import set_current_user
+
+
+class CASAuthenticationMiddleware(object):
+ '''
+ Middleware class for authenticating a user through a CAS Server via the CAS Proxy protocol.
+ The request must have a "cas_ticket" argument that contains the CAS Proxy ticket to be validated.
+
+ Requires django-cas-ng authentication backend.
+ '''
+ def process_request(self, request):
+ ticket = request.GET.get("casticket")
+ if ticket is not None:
+ parsed_url = urlparse(request.build_absolute_uri())
+ # editing ticket parameter out of the request
+ new_query_params = urlencode([param for param in parse_qsl(parsed_url.query) if str(param[0]) != "casticket"])
+
+ service = urlunparse((
+ parsed_url.scheme,
+ parsed_url.netloc,
+ parsed_url.path,
+ parsed_url.params,
+ new_query_params,
+ parsed_url.fragment
+ ))
+
+ user = authenticate(ticket=ticket, service=service, request=request)
+ if user is None:
+ return False
+ request.user = user
+ login(request, user)
+ set_current_user(user)
\ No newline at end of file
--- a/server/src/remieplt/settings/__init__.py Wed May 27 15:34:06 2015 +0200
+++ b/server/src/remieplt/settings/__init__.py Tue Jun 02 10:41:10 2015 +0200
@@ -77,6 +77,7 @@
'ldt.ldt_utils.middleware.swfupload.SWFUploadMiddleware',
'ldt.ldt_utils.middleware.userprofile.LanguageMiddleware',
'ldt.security.middleware.SecurityMiddleware',
+ 'remie.middleware.cas_proxy_auth.CASAuthenticationMiddleware'
)
ROOT_URLCONF = 'remieplt.urls'
@@ -154,6 +155,7 @@
# 'social.backends.facebook.FacebookOAuth2',
'guardian.backends.ObjectPermissionBackend',
'django.contrib.auth.backends.ModelBackend',
+ 'django_cas_ng.backends.CASBackend',
)
--- a/server/src/remieplt/urls.py Wed May 27 15:34:06 2015 +0200
+++ b/server/src/remieplt/urls.py Tue Jun 02 10:41:10 2015 +0200
@@ -23,6 +23,7 @@
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.generic import RedirectView
+from remie.views import RemieBaseView
js_info_dict = {
'packages': ('django.contrib.admin',),
@@ -41,8 +42,11 @@
url(r'^accounts/', include('social.apps.django_app.urls', namespace='social')),
url(r'^accounts/login/$',pf_login,{'template_name': 'registration/login.html'},name='auth_login'),
+ url(r'^accounts/cas/login/$', 'django_cas_ng.views.login'),
+ url(r'^accounts/cas/logout/$', 'django_cas_ng.views.logout'),
url(r'^oauth/', include('oauth_provider.urls')),
-
+
+ url(r'^remie/$', RemieBaseView.as_view(), name="remie_base"),
url(r'^/?$', RedirectView.as_view(url='ldt')),