From 2bac30361ea9bde691680368eb1a4b7950d1cd50 Mon Sep 17 00:00:00 2001 From: juanifioren Date: Wed, 18 Feb 2015 15:07:22 -0300 Subject: [PATCH] Change name of the package. --- MANIFEST.in | 2 +- README.rst | 18 ++-- .../__init__.py | 0 .../lib/__init__.py | 0 .../lib/claims.py | 2 +- .../lib/endpoints/__init__.py | 0 .../lib/endpoints/authorize.py | 10 +- .../lib/endpoints/token.py | 10 +- .../lib/endpoints/userinfo.py | 10 +- .../lib/errors.py | 0 .../lib/utils/__init__.py | 0 .../lib/utils/params.py | 0 .../lib/utils/token.py | 4 +- oidc_provider/migrations/0001_initial.py | 100 ++++++++++++++++++ .../migrations/__init__.py | 0 {openid_provider => oidc_provider}/models.py | 0 .../settings.py | 2 +- .../templates/oidc_provider}/authorize.html | 2 +- .../templates/oidc_provider}/error.html | 0 .../oidc_provider}/hidden_inputs.html | 0 .../tests/__init__.py | 0 .../tests/test_code_flow.py | 10 +- .../tests/utils.py | 2 +- {openid_provider => oidc_provider}/urls.py | 2 +- {openid_provider => oidc_provider}/views.py | 14 +-- setup.py | 4 +- 26 files changed, 146 insertions(+), 46 deletions(-) rename {openid_provider => oidc_provider}/__init__.py (100%) rename {openid_provider => oidc_provider}/lib/__init__.py (100%) rename {openid_provider => oidc_provider}/lib/claims.py (98%) rename {openid_provider => oidc_provider}/lib/endpoints/__init__.py (100%) rename {openid_provider => oidc_provider}/lib/endpoints/authorize.py (95%) rename {openid_provider => oidc_provider}/lib/endpoints/token.py (92%) rename {openid_provider => oidc_provider}/lib/endpoints/userinfo.py (90%) rename {openid_provider => oidc_provider}/lib/errors.py (100%) rename {openid_provider => oidc_provider}/lib/utils/__init__.py (100%) rename {openid_provider => oidc_provider}/lib/utils/params.py (100%) rename {openid_provider => oidc_provider}/lib/utils/token.py (95%) create mode 100644 oidc_provider/migrations/0001_initial.py rename {openid_provider => oidc_provider}/migrations/__init__.py (100%) rename {openid_provider => oidc_provider}/models.py (100%) rename {openid_provider => oidc_provider}/settings.py (90%) rename {openid_provider/templates/openid_provider => oidc_provider/templates/oidc_provider}/authorize.html (83%) rename {openid_provider/templates/openid_provider => oidc_provider/templates/oidc_provider}/error.html (100%) rename {openid_provider/templates/openid_provider => oidc_provider/templates/oidc_provider}/hidden_inputs.html (100%) rename {openid_provider => oidc_provider}/tests/__init__.py (100%) rename {openid_provider => oidc_provider}/tests/test_code_flow.py (93%) rename {openid_provider => oidc_provider}/tests/utils.py (94%) rename {openid_provider => oidc_provider}/urls.py (90%) rename {openid_provider => oidc_provider}/views.py (87%) diff --git a/MANIFEST.in b/MANIFEST.in index d78e4b3..c4c6761 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,3 +1,3 @@ include LICENSE include README.rst -recursive-include openid_provider/templates * \ No newline at end of file +recursive-include oidc_provider/templates * \ No newline at end of file diff --git a/README.rst b/README.rst index fc2018f..8ef2be6 100644 --- a/README.rst +++ b/README.rst @@ -1,5 +1,5 @@ -Django-OIDC-Provider +Django OIDC Provider #################### **This project is in ALFA version and is rapidly changing. DO NOT USE IT FOR PRODUCTION SITES.** @@ -19,7 +19,7 @@ Install the package using pip. .. code:: bash - pip install git+https://github.com/juanifioren/django-oidc-provider.git#egg=openid_provider + pip install git+https://github.com/juanifioren/django-oidc-provider.git#egg=oidc_provider Add it to your apps. @@ -33,7 +33,7 @@ Add it to your apps. 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', - 'openid_provider', + 'oidc_provider', # ... ) @@ -43,7 +43,7 @@ Add the provider urls. urlpatterns = patterns('', # ... - url(r'^openid/', include('openid_provider.urls', namespace='openid_provider')), + url(r'^openid/', include('oidc_provider.urls', namespace='oidc_provider')), # ... ) @@ -82,7 +82,7 @@ Then let's create a Client. Start django shell: ``python manage.py shell``. .. code:: python - >>> from openid_provider.models import Client + >>> from oidc_provider.models import Client >>> c = Client(name='Some Client', client_id='123', client_secret='456', response_type='code', redirect_uris=['http://example.com/']) >>> c.save() @@ -144,7 +144,7 @@ Check out an example: .. code:: python - from openid_provider.lib.claims import AbstractScopeClaims + from oidc_provider.lib.claims import AbstractScopeClaims class MyAppScopeClaims(AbstractScopeClaims): @@ -180,7 +180,7 @@ If a field is empty or ``None`` will be cleaned from the response. Templates ********* -Add your own templates files inside a folder named ``templates/openid_provider/``. +Add your own templates files inside a folder named ``templates/oidc_provider/``. You can copy the sample html here and edit them with your own styles. **authorize.html** @@ -191,7 +191,7 @@ You can copy the sample html here and edit them with your own styles.

Client {{ client.name }} would like to access this information of you ...

-
+ {% csrf_token %} @@ -224,7 +224,7 @@ Just run them as normal Django tests. .. code:: bash - $ python manage.py test openid_provider + $ python manage.py test oidc_provider ************ Contributing diff --git a/openid_provider/__init__.py b/oidc_provider/__init__.py similarity index 100% rename from openid_provider/__init__.py rename to oidc_provider/__init__.py diff --git a/openid_provider/lib/__init__.py b/oidc_provider/lib/__init__.py similarity index 100% rename from openid_provider/lib/__init__.py rename to oidc_provider/lib/__init__.py diff --git a/openid_provider/lib/claims.py b/oidc_provider/lib/claims.py similarity index 98% rename from openid_provider/lib/claims.py rename to oidc_provider/lib/claims.py index 7b0b97e..3c59bdc 100644 --- a/openid_provider/lib/claims.py +++ b/oidc_provider/lib/claims.py @@ -1,5 +1,5 @@ from django.utils.translation import ugettext as _ -from openid_provider.models import UserInfo +from oidc_provider.models import UserInfo class AbstractScopeClaims(object): diff --git a/openid_provider/lib/endpoints/__init__.py b/oidc_provider/lib/endpoints/__init__.py similarity index 100% rename from openid_provider/lib/endpoints/__init__.py rename to oidc_provider/lib/endpoints/__init__.py diff --git a/openid_provider/lib/endpoints/authorize.py b/oidc_provider/lib/endpoints/authorize.py similarity index 95% rename from openid_provider/lib/endpoints/authorize.py rename to oidc_provider/lib/endpoints/authorize.py index ca5aa44..429f74b 100644 --- a/openid_provider/lib/endpoints/authorize.py +++ b/oidc_provider/lib/endpoints/authorize.py @@ -1,10 +1,10 @@ from datetime import timedelta from django.utils import timezone -from openid_provider.lib.errors import * -from openid_provider.lib.utils.params import * -from openid_provider.lib.utils.token import * -from openid_provider.models import * -from openid_provider import settings +from oidc_provider.lib.errors import * +from oidc_provider.lib.utils.params import * +from oidc_provider.lib.utils.token import * +from oidc_provider.models import * +from oidc_provider import settings import uuid diff --git a/openid_provider/lib/endpoints/token.py b/oidc_provider/lib/endpoints/token.py similarity index 92% rename from openid_provider/lib/endpoints/token.py rename to oidc_provider/lib/endpoints/token.py index 6f8fbfd..4d9ba74 100644 --- a/openid_provider/lib/endpoints/token.py +++ b/oidc_provider/lib/endpoints/token.py @@ -1,9 +1,9 @@ from django.http import JsonResponse -from openid_provider.lib.errors import * -from openid_provider.lib.utils.params import * -from openid_provider.lib.utils.token import * -from openid_provider.models import * -from openid_provider import settings +from oidc_provider.lib.errors import * +from oidc_provider.lib.utils.params import * +from oidc_provider.lib.utils.token import * +from oidc_provider.models import * +from oidc_provider import settings import urllib diff --git a/openid_provider/lib/endpoints/userinfo.py b/oidc_provider/lib/endpoints/userinfo.py similarity index 90% rename from openid_provider/lib/endpoints/userinfo.py rename to oidc_provider/lib/endpoints/userinfo.py index 41c4b22..745e00d 100644 --- a/openid_provider/lib/endpoints/userinfo.py +++ b/oidc_provider/lib/endpoints/userinfo.py @@ -1,10 +1,10 @@ from django.http import HttpResponse from django.http import JsonResponse -from openid_provider.lib.errors import * -from openid_provider.lib.claims import * -from openid_provider.lib.utils.params import * -from openid_provider.models import * -from openid_provider import settings +from oidc_provider.lib.errors import * +from oidc_provider.lib.claims import * +from oidc_provider.lib.utils.params import * +from oidc_provider.models import * +from oidc_provider import settings import re diff --git a/openid_provider/lib/errors.py b/oidc_provider/lib/errors.py similarity index 100% rename from openid_provider/lib/errors.py rename to oidc_provider/lib/errors.py diff --git a/openid_provider/lib/utils/__init__.py b/oidc_provider/lib/utils/__init__.py similarity index 100% rename from openid_provider/lib/utils/__init__.py rename to oidc_provider/lib/utils/__init__.py diff --git a/openid_provider/lib/utils/params.py b/oidc_provider/lib/utils/params.py similarity index 100% rename from openid_provider/lib/utils/params.py rename to oidc_provider/lib/utils/params.py diff --git a/openid_provider/lib/utils/token.py b/oidc_provider/lib/utils/token.py similarity index 95% rename from openid_provider/lib/utils/token.py rename to oidc_provider/lib/utils/token.py index dc2c859..64d5660 100644 --- a/openid_provider/lib/utils/token.py +++ b/oidc_provider/lib/utils/token.py @@ -1,7 +1,7 @@ from datetime import timedelta from django.utils import timezone -from openid_provider.models import * -from openid_provider import settings +from oidc_provider.models import * +from oidc_provider import settings import jwt import time import uuid diff --git a/oidc_provider/migrations/0001_initial.py b/oidc_provider/migrations/0001_initial.py new file mode 100644 index 0000000..661e032 --- /dev/null +++ b/oidc_provider/migrations/0001_initial.py @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations +from django.conf import settings + + +class Migration(migrations.Migration): + + dependencies = [ + ('auth', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Client', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('name', models.CharField(default=b'', max_length=100)), + ('client_id', models.CharField(unique=True, max_length=255)), + ('client_secret', models.CharField(unique=True, max_length=255)), + ('response_type', models.CharField(max_length=30, choices=[(b'code', b'code (Authorization Code Flow)'), (b'id_token', b'id_token (Implicit Flow)'), (b'id_token token', b'id_token token (Implicit Flow)')])), + ('_redirect_uris', models.TextField(default=b'')), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Code', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('code', models.CharField(unique=True, max_length=255)), + ('expires_at', models.DateTimeField()), + ('_scope', models.TextField(default=b'')), + ('client', models.ForeignKey(to='oidc_provider.Client')), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='Token', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('access_token', models.CharField(unique=True, max_length=255)), + ('expires_at', models.DateTimeField()), + ('_scope', models.TextField(default=b'')), + ('_id_token', models.TextField()), + ('client', models.ForeignKey(to='oidc_provider.Client')), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.CreateModel( + name='UserInfo', + fields=[ + ('user', models.OneToOneField(primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)), + ('given_name', models.CharField(default=b'', max_length=255)), + ('family_name', models.CharField(default=b'', max_length=255)), + ('middle_name', models.CharField(default=b'', max_length=255)), + ('nickname', models.CharField(default=b'', max_length=255)), + ('preferred_username', models.CharField(default=b'', max_length=255)), + ('profile', models.URLField(default=b'')), + ('picture', models.URLField(default=b'')), + ('website', models.URLField(default=b'')), + ('email_verified', models.BooleanField(default=False)), + ('gender', models.CharField(default=b'', max_length=100)), + ('birthdate', models.DateField(null=True)), + ('zoneinfo', models.CharField(default=b'', max_length=100)), + ('locale', models.CharField(default=b'', max_length=100)), + ('phone_number', models.CharField(default=b'', max_length=255)), + ('phone_number_verified', models.BooleanField(default=False)), + ('address_formatted', models.CharField(default=b'', max_length=255)), + ('address_street_address', models.CharField(default=b'', max_length=255)), + ('address_locality', models.CharField(default=b'', max_length=255)), + ('address_region', models.CharField(default=b'', max_length=255)), + ('address_postal_code', models.CharField(default=b'', max_length=255)), + ('address_country', models.CharField(default=b'', max_length=255)), + ('updated_at', models.DateTimeField(auto_now=True, null=True)), + ], + options={ + }, + bases=(models.Model,), + ), + migrations.AddField( + model_name='token', + name='user', + field=models.ForeignKey(to=settings.AUTH_USER_MODEL), + preserve_default=True, + ), + migrations.AddField( + model_name='code', + name='user', + field=models.ForeignKey(to=settings.AUTH_USER_MODEL), + preserve_default=True, + ), + ] diff --git a/openid_provider/migrations/__init__.py b/oidc_provider/migrations/__init__.py similarity index 100% rename from openid_provider/migrations/__init__.py rename to oidc_provider/migrations/__init__.py diff --git a/openid_provider/models.py b/oidc_provider/models.py similarity index 100% rename from openid_provider/models.py rename to oidc_provider/models.py diff --git a/openid_provider/settings.py b/oidc_provider/settings.py similarity index 90% rename from openid_provider/settings.py rename to oidc_provider/settings.py index 7348596..6add2d6 100644 --- a/openid_provider/settings.py +++ b/oidc_provider/settings.py @@ -1,5 +1,5 @@ from django.conf import settings -from openid_provider.lib.claims import AbstractScopeClaims +from oidc_provider.lib.claims import AbstractScopeClaims # Here goes all the package default settings. diff --git a/openid_provider/templates/openid_provider/authorize.html b/oidc_provider/templates/oidc_provider/authorize.html similarity index 83% rename from openid_provider/templates/openid_provider/authorize.html rename to oidc_provider/templates/oidc_provider/authorize.html index a6264bc..69cede7 100644 --- a/openid_provider/templates/openid_provider/authorize.html +++ b/oidc_provider/templates/oidc_provider/authorize.html @@ -2,7 +2,7 @@

Client {{ client.name }} would like to access this information of you ...

- + {% csrf_token %} diff --git a/openid_provider/templates/openid_provider/error.html b/oidc_provider/templates/oidc_provider/error.html similarity index 100% rename from openid_provider/templates/openid_provider/error.html rename to oidc_provider/templates/oidc_provider/error.html diff --git a/openid_provider/templates/openid_provider/hidden_inputs.html b/oidc_provider/templates/oidc_provider/hidden_inputs.html similarity index 100% rename from openid_provider/templates/openid_provider/hidden_inputs.html rename to oidc_provider/templates/oidc_provider/hidden_inputs.html diff --git a/openid_provider/tests/__init__.py b/oidc_provider/tests/__init__.py similarity index 100% rename from openid_provider/tests/__init__.py rename to oidc_provider/tests/__init__.py diff --git a/openid_provider/tests/test_code_flow.py b/oidc_provider/tests/test_code_flow.py similarity index 93% rename from openid_provider/tests/test_code_flow.py rename to oidc_provider/tests/test_code_flow.py index d6ad77b..d43ad39 100644 --- a/openid_provider/tests/test_code_flow.py +++ b/oidc_provider/tests/test_code_flow.py @@ -3,9 +3,9 @@ from django.contrib.auth.models import AnonymousUser from django.core.urlresolvers import reverse from django.test import RequestFactory from django.test import TestCase -from openid_provider import settings -from openid_provider.tests.utils import * -from openid_provider.views import * +from oidc_provider import settings +from oidc_provider.tests.utils import * +from oidc_provider.views import * import urllib @@ -20,7 +20,7 @@ class CodeFlowTestCase(TestCase): """ Generate an OpenID Authentication Request using the fake client data. """ - path = reverse('openid_provider:authorize') + path = reverse('oidc_provider:authorize') query_str = urllib.urlencode({ 'client_id': self.client.client_id, @@ -42,7 +42,7 @@ class CodeFlowTestCase(TestCase): See: https://tools.ietf.org/html/rfc6749#section-4.1.2.1 """ - url = reverse('openid_provider:authorize') + url = reverse('oidc_provider:authorize') request = self.factory.get(url) response = AuthorizeView.as_view()(request) diff --git a/openid_provider/tests/utils.py b/oidc_provider/tests/utils.py similarity index 94% rename from openid_provider/tests/utils.py rename to oidc_provider/tests/utils.py index e1629b7..1d61339 100644 --- a/openid_provider/tests/utils.py +++ b/oidc_provider/tests/utils.py @@ -1,5 +1,5 @@ from django.contrib.auth.models import User -from openid_provider.models import * +from oidc_provider.models import * def create_fake_user(): diff --git a/openid_provider/urls.py b/oidc_provider/urls.py similarity index 90% rename from openid_provider/urls.py rename to oidc_provider/urls.py index 31d485a..54c4f62 100644 --- a/openid_provider/urls.py +++ b/oidc_provider/urls.py @@ -1,6 +1,6 @@ from django.conf.urls import patterns, include, url from django.views.decorators.csrf import csrf_exempt -from openid_provider.views import * +from oidc_provider.views import * urlpatterns = patterns('', diff --git a/openid_provider/views.py b/oidc_provider/views.py similarity index 87% rename from openid_provider/views.py rename to oidc_provider/views.py index 4b9c75d..7b4a693 100644 --- a/openid_provider/views.py +++ b/oidc_provider/views.py @@ -4,10 +4,10 @@ from django.shortcuts import render from django.template.loader import render_to_string from django.views.decorators.http import require_http_methods from django.views.generic import View -from openid_provider.lib.errors import * -from openid_provider.lib.endpoints.authorize import * -from openid_provider.lib.endpoints.token import * -from openid_provider.lib.endpoints.userinfo import * +from oidc_provider.lib.errors import * +from oidc_provider.lib.endpoints.authorize import * +from oidc_provider.lib.endpoints.token import * +from oidc_provider.lib.endpoints.userinfo import * class AuthorizeView(View): @@ -26,7 +26,7 @@ class AuthorizeView(View): 'params': authorize.params, } hidden_inputs = render_to_string( - 'openid_provider/hidden_inputs.html', context) + 'oidc_provider/hidden_inputs.html', context) # Remove openid from scope list since we don't need to print it. authorize.params.scope.remove('openid') @@ -37,7 +37,7 @@ class AuthorizeView(View): 'params': authorize.params, } - return render(request, 'openid_provider/authorize.html', context) + return render(request, 'oidc_provider/authorize.html', context) else: path = request.get_full_path() return redirect_to_login(path) @@ -48,7 +48,7 @@ class AuthorizeView(View): 'description': error.description, } - return render(request, 'openid_provider/error.html', context) + return render(request, 'oidc_provider/error.html', context) except (AuthorizeError) as error: uri = error.create_uri( diff --git a/setup.py b/setup.py index cdbf314..6b9594a 100644 --- a/setup.py +++ b/setup.py @@ -10,10 +10,10 @@ os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir))) setup( name='django-oidc-provider', version='0.0.0', - packages=['openid_provider'], + packages=['oidc_provider'], include_package_data=True, license='MIT License', - description='A simple OpenID Connect Provider implementation for Djangonauts.', + description='OpenID Connect Provider implementation for Django.', long_description=README, url='http://github.com/juanifioren/django-oidc-provider', author='Juan Ignacio Fiorentino',