Metadata-Version: 2.0
Name: django-helusers
Version: 0.2.3
Summary: Django app for the user infrastructure of the City of Helsinki
Home-page: https://github.com/City-of-Helsinki/helusers
Author: Juha Yrjölä
Author-email: juha.yrjola@iki.fi
License: BSD License
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Dist: Django

=====
Django app for City of Helsinki user infrastructure
=====

Installation
------------

First, install the pip package.

.. code:: shell

  pip install django-helusers

Second, implement your own custom User model in your application's
``models.py``.

.. code:: python

  from helusers.models import AbstractUser


  class User(AbstractUser):
      pass

Then, modify your ``settings.py`` to add the ``helusers`` app as the
first app (or at least before the ``django.contrib.admin`` app. You need
to also point Django to use your custom User model.

.. code:: python

  INSTALLED_APPS = (
      ...
      'helusers',
      ...
  )

  AUTH_USER_MODEL = 'myapp.User'


OAuth2 provider
---------------

If you want to use the City's OAuth2 API, you need to install the
``django-allauth`` package. Follow the `installation instructions
<http://django-allauth.readthedocs.org/en/latest/installation.html>`_
provided by ``django-allauth``.

Then, install the allauth provider by adding ``helusers.providers.helsinki``
to your ``INSTALLED_APPS``.

After allauth is correctly set up, you need to create a ``SocialApp``
instance. You can do it through the Django admin interface (Social Applications).
You will be provided the client id and secret key by the City of Helsinki.

You should also make sure ``allauth`` doesn't try to send verification emails
by including this in your ``settings.py``:

.. code:: python

  SOCIALACCOUNT_PROVIDERS = {
      'helsinki': {
          'VERIFIED_EMAIL': True
      }
  }
  SOCIALACCOUNT_ADAPTER = 'helusers.providers.helsinki.provider.SocialAccountAdapter'
  LOGIN_REDIRECT_URL = '/'
  ACCOUNT_LOGOUT_ON_GET = True


