Metadata-Version: 2.0
Name: django-lastpass-sp
Version: 0.1.2
Summary: Django LastPass SAML authenticator
Home-page: https://github.com/codetry/lpsp/
Author: Ferrix Hovi
Author-email: ferrix@codetry.fi
License: MIT License
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.8
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Dist: Django (>=1.8.2)
Requires-Dist: django-saml-service-provider (==1.0.2)

Django LastPass SAML authenticator
----------------------------------

This is a hacky extension to `django-saml-service-provider`_ that, instead
of onelogin, uses `LastPass Enterprise`_ as an IdP. 

.. _`django-saml-service-provider`: 
    https://github.com/KristianOellegaard/django-saml-service-provider
.. _`LastPass Enterprise`: https://lastpass.com/enterprise_overview.php

Installation
============

Get it from PyPI::

    pip install django-lastpass-sp

Example configuration
=====================

::

    # Check the LastPass SAML metadata for the bits after '.../login/'
    LASTPASS_CONNECTOR_ID = '1234567/abc4'

    # This is the certificate given by LastPass
    # or LASTPASS_CERTIFICATE if you want the cert in your conf
    LASTPASS_CERTIFICATE_FILE = os.path.join(BASE_DIR, 'lastpass.crt')

    # Private key, try it like this:
    # openssl genrsa > samlsp.key
    # or SAML_SP_KEY if you want the key in your conf
    SAML_SP_KEY_FILE = os.path.join(BASE_DIR, 'samlsp.key')

    # Certificate, try with self-signed:
    # openssl req -new -x509 -key samlsp.key -out samlsp.crt -days 365
    # or SAML_SP_CERTIFICATE if you want the key in your conf
    SAML_SP_CERTIFICATE_FILE = os.path.join(BASE_DIR, 'samlsp.crt')

    # Optional!
    # Contact info provided in the metadata
    SAML_SP_CONTACT_INFO = {
        "technical": {
            "givenName": "Admin",
            "emailAddress": "admin@example.com",
        }
    }

    # Optional! 
    # Ditto for organization info
    SAML_SP_ORGANIZATION_INFO = {
        "en-US": {
            "name": "acme",
            "displayname": 'Acme Inc',
            "url": "http://example.com/",
        }
    }

    AUTHENTICATION_BACKENDS = (
        # This is just so you don't block yourself out
        #'django.contrib.auth.backends.ModelBackend',
        # This is the beef
        'sp.auth_backend.SAMLServiceProviderBackend',
    )

    # Optional
    # Create new users with admin and/or staff accounts
    # Both default to False
    LASTPASS_CREATE_ADMIN = True
    LASTPASS_CREATE_STAFF = True


