summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 08:18:56 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 08:18:56 +0000
commitab4003234e83281b2a0539c4bfc3ae5839927979 (patch)
tree0b1daec92f56bc20c62744653c9805881c6bdd5d
parent369318721810b0a0d8369a8e5a8cb94a67fa1ba3 (diff)
automatic import of python-django-cas-ssoopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-django-cas-sso.spec517
-rw-r--r--sources1
3 files changed, 519 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..5df5c11 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/django-cas-sso-1.2.7.tar.gz
diff --git a/python-django-cas-sso.spec b/python-django-cas-sso.spec
new file mode 100644
index 0000000..aa38c91
--- /dev/null
+++ b/python-django-cas-sso.spec
@@ -0,0 +1,517 @@
+%global _empty_manifest_terminate_build 0
+Name: python-django-cas-sso
+Version: 1.2.7
+Release: 1
+Summary: Django Cas SSO Client (inherited from django-cas)
+License: MIT
+URL: http://github.com/unistra/django-cas/
+Source0: https://mirrors.aliyun.com/pypi/web/packages/46/4d/ee2fe0cd9f129a4eab2d4478b634fa9ff230444e5290f9e21d5157c495e8/django-cas-sso-1.2.7.tar.gz
+BuildArch: noarch
+
+Requires: python3-six
+
+%description
+# django-cas-sso
+
+[![Code Health](https://landscape.io/github/unistra/django-cas/master/landscape.svg?style=flat)](https://landscape.io/github/unistra/django-cas/master)
+
+CAS client for Django. This is K-State&#39;s fork of the original, which lives at
+https://bitbucket.org/cpcc/django-cas/overview. This fork is actively maintaned and
+includes several new features.
+
+Current version: 1.2.7
+
+https://github.com/kstateome/django-cas
+
+## Install
+
+See the document at Bitbucket
+
+https://bitbucket.org/cpcc/django-cas/overview
+
+## Settings.py for CAS
+
+Add the following to middleware if you want to use CAS::
+
+ MIDDLEWARE = (
+ 'django_cas.middleware.CASMiddleware',
+ )
+
+Add these to `settings.py` to use the CAS Backend::
+
+ CAS_SERVER_URL = "Your Cas Server"
+ CAS_LOGOUT_COMPLETELY = True
+
+To disable CAS authentication for the entire django admin app, you should use the `CAS_ADMIN_AUTH` parameter::
+
+ CAS_ADMIN_AUTH = False
+
+## Url namespace
+
+Include `django_cas` urls :
+
+- if your django version is 1.8 or older (defining the namespace "django_cas" is required) :
+
+ url(r'your-base_uri/', include('django_cas.urls', namespace='django_cas'))
+
+- for version >= 1.9 (a default namespace "django_cas" will be set but you can set yours if you want) :
+
+ url(r'your-base_uri/', include('django_cas.urls'))
+
+# Additional Features
+
+This fork contains additional features not found in the original:
+
+- Proxied Hosts
+- CAS Response Callbacks
+- CAS Gateway
+- Proxy Tickets (From Edmund Crewe)
+
+## Proxied Hosts
+
+You will need to setup middleware to handle the use of proxies.
+
+Add a setting `PROXY_DOMAIN` of the domain you want the client to use. Then add
+
+ MIDDLEWARE = (
+ 'django_cas.middleware.ProxyMiddleware',
+ )
+
+This middleware needs to be added before the django `common` middleware.
+
+## CAS Response Callbacks
+
+To store data from CAS, create a callback function that accepts the dict from the
+proxyValidate response. There can be multiple callbacks, and they can live anywhere. Define the
+callback(s) in `settings.py`:
+
+ CAS_RESPONSE_CALLBACKS = (
+ 'path.to.module.callbackfunction',
+ 'anotherpath.to.module.callbackfunction2',
+ )
+
+and create the functions in `path/to/module.py`:
+
+ def callbackfunction(attribute_dict):
+ # direct access
+ username = attribute_dict.get('username')
+
+ user, user_created = User.objects.get_or_create(username=username)
+ profile, created = user.get_profile()
+
+ # ldap monovalued field
+ profile.email = attribute_dict.get('mail',[''])[0]
+ # ldap multivalued field
+ profile.affiliations = attribute_dict.get('eduPersonAffiliation',[])
+ profile.save()
+
+### Custom User creation
+
+If automated user creation is enabled (`CAS_USER_CREATION = True`), you can define a custom user creation function.
+
+Give its path to the settings file like this:
+
+ CAS_USER_CREATION_CALLBACK = (
+ 'path.to.module.user_creation_function',
+ )
+
+Provide the function in `path/to/module.py`,
+which receive user data as a list of two items: `[app_user_model, user_attributes_dict]`
+and return created user instance:
+
+ def user_creation_function(user_data):
+ user_model, user_attributes = user_data
+ username = user_attributes['username']
+ email = user_attributes.get('email', '')
+ return user_model.objects.create_user(username, email)
+
+With default settings ticket verification provide a dict of all attributes defined in your CAS server configuration file.
+If `CAS_VERSION` setting is lower than 3 then dict contains only the username.
+
+## CAS Gateway
+
+To use the CAS Gateway feature, first enable it in settings. Trying to use it without explicitly
+enabling this setting will raise an ImproperlyConfigured:
+
+ CAS_GATEWAY = True
+
+Then, add the `gateway` decorator to a view:
+
+ from django_cas.decorators import gateway
+
+ @gateway()
+ def foo(request):
+ #stuff
+ return render(request, 'foo/bar.html')
+
+## Custom Forbidden Page
+
+To show a custom forbidden page, set `CAS_CUSTOM_FORBIDDEN` to a `path.to.some_view`. Otherwise,
+a generic `HttpResponseForbidden` will be returned.
+
+## Require SSL Login
+
+To force the service url to always target HTTPS, set `CAS_FORCE_SSL_SERVICE_URL` to `True`.
+
+## Proxy Tickets
+
+This fork also includes Edmund Crewe's proxy ticket patch:
+http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch
+
+
+
+
+%package -n python3-django-cas-sso
+Summary: Django Cas SSO Client (inherited from django-cas)
+Provides: python-django-cas-sso
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-django-cas-sso
+# django-cas-sso
+
+[![Code Health](https://landscape.io/github/unistra/django-cas/master/landscape.svg?style=flat)](https://landscape.io/github/unistra/django-cas/master)
+
+CAS client for Django. This is K-State&#39;s fork of the original, which lives at
+https://bitbucket.org/cpcc/django-cas/overview. This fork is actively maintaned and
+includes several new features.
+
+Current version: 1.2.7
+
+https://github.com/kstateome/django-cas
+
+## Install
+
+See the document at Bitbucket
+
+https://bitbucket.org/cpcc/django-cas/overview
+
+## Settings.py for CAS
+
+Add the following to middleware if you want to use CAS::
+
+ MIDDLEWARE = (
+ 'django_cas.middleware.CASMiddleware',
+ )
+
+Add these to `settings.py` to use the CAS Backend::
+
+ CAS_SERVER_URL = "Your Cas Server"
+ CAS_LOGOUT_COMPLETELY = True
+
+To disable CAS authentication for the entire django admin app, you should use the `CAS_ADMIN_AUTH` parameter::
+
+ CAS_ADMIN_AUTH = False
+
+## Url namespace
+
+Include `django_cas` urls :
+
+- if your django version is 1.8 or older (defining the namespace "django_cas" is required) :
+
+ url(r'your-base_uri/', include('django_cas.urls', namespace='django_cas'))
+
+- for version >= 1.9 (a default namespace "django_cas" will be set but you can set yours if you want) :
+
+ url(r'your-base_uri/', include('django_cas.urls'))
+
+# Additional Features
+
+This fork contains additional features not found in the original:
+
+- Proxied Hosts
+- CAS Response Callbacks
+- CAS Gateway
+- Proxy Tickets (From Edmund Crewe)
+
+## Proxied Hosts
+
+You will need to setup middleware to handle the use of proxies.
+
+Add a setting `PROXY_DOMAIN` of the domain you want the client to use. Then add
+
+ MIDDLEWARE = (
+ 'django_cas.middleware.ProxyMiddleware',
+ )
+
+This middleware needs to be added before the django `common` middleware.
+
+## CAS Response Callbacks
+
+To store data from CAS, create a callback function that accepts the dict from the
+proxyValidate response. There can be multiple callbacks, and they can live anywhere. Define the
+callback(s) in `settings.py`:
+
+ CAS_RESPONSE_CALLBACKS = (
+ 'path.to.module.callbackfunction',
+ 'anotherpath.to.module.callbackfunction2',
+ )
+
+and create the functions in `path/to/module.py`:
+
+ def callbackfunction(attribute_dict):
+ # direct access
+ username = attribute_dict.get('username')
+
+ user, user_created = User.objects.get_or_create(username=username)
+ profile, created = user.get_profile()
+
+ # ldap monovalued field
+ profile.email = attribute_dict.get('mail',[''])[0]
+ # ldap multivalued field
+ profile.affiliations = attribute_dict.get('eduPersonAffiliation',[])
+ profile.save()
+
+### Custom User creation
+
+If automated user creation is enabled (`CAS_USER_CREATION = True`), you can define a custom user creation function.
+
+Give its path to the settings file like this:
+
+ CAS_USER_CREATION_CALLBACK = (
+ 'path.to.module.user_creation_function',
+ )
+
+Provide the function in `path/to/module.py`,
+which receive user data as a list of two items: `[app_user_model, user_attributes_dict]`
+and return created user instance:
+
+ def user_creation_function(user_data):
+ user_model, user_attributes = user_data
+ username = user_attributes['username']
+ email = user_attributes.get('email', '')
+ return user_model.objects.create_user(username, email)
+
+With default settings ticket verification provide a dict of all attributes defined in your CAS server configuration file.
+If `CAS_VERSION` setting is lower than 3 then dict contains only the username.
+
+## CAS Gateway
+
+To use the CAS Gateway feature, first enable it in settings. Trying to use it without explicitly
+enabling this setting will raise an ImproperlyConfigured:
+
+ CAS_GATEWAY = True
+
+Then, add the `gateway` decorator to a view:
+
+ from django_cas.decorators import gateway
+
+ @gateway()
+ def foo(request):
+ #stuff
+ return render(request, 'foo/bar.html')
+
+## Custom Forbidden Page
+
+To show a custom forbidden page, set `CAS_CUSTOM_FORBIDDEN` to a `path.to.some_view`. Otherwise,
+a generic `HttpResponseForbidden` will be returned.
+
+## Require SSL Login
+
+To force the service url to always target HTTPS, set `CAS_FORCE_SSL_SERVICE_URL` to `True`.
+
+## Proxy Tickets
+
+This fork also includes Edmund Crewe's proxy ticket patch:
+http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch
+
+
+
+
+%package help
+Summary: Development documents and examples for django-cas-sso
+Provides: python3-django-cas-sso-doc
+%description help
+# django-cas-sso
+
+[![Code Health](https://landscape.io/github/unistra/django-cas/master/landscape.svg?style=flat)](https://landscape.io/github/unistra/django-cas/master)
+
+CAS client for Django. This is K-State&#39;s fork of the original, which lives at
+https://bitbucket.org/cpcc/django-cas/overview. This fork is actively maintaned and
+includes several new features.
+
+Current version: 1.2.7
+
+https://github.com/kstateome/django-cas
+
+## Install
+
+See the document at Bitbucket
+
+https://bitbucket.org/cpcc/django-cas/overview
+
+## Settings.py for CAS
+
+Add the following to middleware if you want to use CAS::
+
+ MIDDLEWARE = (
+ 'django_cas.middleware.CASMiddleware',
+ )
+
+Add these to `settings.py` to use the CAS Backend::
+
+ CAS_SERVER_URL = "Your Cas Server"
+ CAS_LOGOUT_COMPLETELY = True
+
+To disable CAS authentication for the entire django admin app, you should use the `CAS_ADMIN_AUTH` parameter::
+
+ CAS_ADMIN_AUTH = False
+
+## Url namespace
+
+Include `django_cas` urls :
+
+- if your django version is 1.8 or older (defining the namespace "django_cas" is required) :
+
+ url(r'your-base_uri/', include('django_cas.urls', namespace='django_cas'))
+
+- for version >= 1.9 (a default namespace "django_cas" will be set but you can set yours if you want) :
+
+ url(r'your-base_uri/', include('django_cas.urls'))
+
+# Additional Features
+
+This fork contains additional features not found in the original:
+
+- Proxied Hosts
+- CAS Response Callbacks
+- CAS Gateway
+- Proxy Tickets (From Edmund Crewe)
+
+## Proxied Hosts
+
+You will need to setup middleware to handle the use of proxies.
+
+Add a setting `PROXY_DOMAIN` of the domain you want the client to use. Then add
+
+ MIDDLEWARE = (
+ 'django_cas.middleware.ProxyMiddleware',
+ )
+
+This middleware needs to be added before the django `common` middleware.
+
+## CAS Response Callbacks
+
+To store data from CAS, create a callback function that accepts the dict from the
+proxyValidate response. There can be multiple callbacks, and they can live anywhere. Define the
+callback(s) in `settings.py`:
+
+ CAS_RESPONSE_CALLBACKS = (
+ 'path.to.module.callbackfunction',
+ 'anotherpath.to.module.callbackfunction2',
+ )
+
+and create the functions in `path/to/module.py`:
+
+ def callbackfunction(attribute_dict):
+ # direct access
+ username = attribute_dict.get('username')
+
+ user, user_created = User.objects.get_or_create(username=username)
+ profile, created = user.get_profile()
+
+ # ldap monovalued field
+ profile.email = attribute_dict.get('mail',[''])[0]
+ # ldap multivalued field
+ profile.affiliations = attribute_dict.get('eduPersonAffiliation',[])
+ profile.save()
+
+### Custom User creation
+
+If automated user creation is enabled (`CAS_USER_CREATION = True`), you can define a custom user creation function.
+
+Give its path to the settings file like this:
+
+ CAS_USER_CREATION_CALLBACK = (
+ 'path.to.module.user_creation_function',
+ )
+
+Provide the function in `path/to/module.py`,
+which receive user data as a list of two items: `[app_user_model, user_attributes_dict]`
+and return created user instance:
+
+ def user_creation_function(user_data):
+ user_model, user_attributes = user_data
+ username = user_attributes['username']
+ email = user_attributes.get('email', '')
+ return user_model.objects.create_user(username, email)
+
+With default settings ticket verification provide a dict of all attributes defined in your CAS server configuration file.
+If `CAS_VERSION` setting is lower than 3 then dict contains only the username.
+
+## CAS Gateway
+
+To use the CAS Gateway feature, first enable it in settings. Trying to use it without explicitly
+enabling this setting will raise an ImproperlyConfigured:
+
+ CAS_GATEWAY = True
+
+Then, add the `gateway` decorator to a view:
+
+ from django_cas.decorators import gateway
+
+ @gateway()
+ def foo(request):
+ #stuff
+ return render(request, 'foo/bar.html')
+
+## Custom Forbidden Page
+
+To show a custom forbidden page, set `CAS_CUSTOM_FORBIDDEN` to a `path.to.some_view`. Otherwise,
+a generic `HttpResponseForbidden` will be returned.
+
+## Require SSL Login
+
+To force the service url to always target HTTPS, set `CAS_FORCE_SSL_SERVICE_URL` to `True`.
+
+## Proxy Tickets
+
+This fork also includes Edmund Crewe's proxy ticket patch:
+http://code.google.com/r/edmundcrewe-proxypatch/source/browse/django-cas-proxy.patch
+
+
+
+
+%prep
+%autosetup -n django-cas-sso-1.2.7
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-django-cas-sso -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.7-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..ae2cc4d
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+f3d4f9757d0fa9f0c3cba7bff034714b django-cas-sso-1.2.7.tar.gz