Metadata-Version: 1.1
Name: Sanic-Auth
Version: 0.1.0
Summary: Sanic-Auth - Simple Authentication for Sanic
Home-page: https://github.com/pyx/sanic-auth/
Author: Philip Xu and contributors
Author-email: pyx@xrefactor.com
License: BSD-New
Description: ============================================
        Sanic-Auth - Simple Authentication for Sanic
        ============================================
        
        Sanic-Auth implements a minimal backend agnostic session-based user
        authentication mechanism for `Sanic`_.
        
        
        .. _Sanic: https://github.com/channelcat/sanic
        
        
        Quick Start
        ===========
        
        
        Installation
        ------------
        
        .. code-block:: sh
        
          pip install --upgrade Sanic-Auth
        
        
        How to use it
        -------------
        
        .. code-block:: python
        
          from sanic import Sanic
        
        
          app = Sanic(__name__)
          app.config.AUTH_LOGIN_ENDPOINT = 'login'
        
        
          @app.middleware('request')
          async def add_session_to_request(request):
              # setup session
        
          auth = Auth(app)
        
          @app.route('/login', methods=['GET', 'POST'])
          async def login(request):
              message = ''
              if request.method == 'POST':
                  username = request.form.get('username')
                  password = request.form.get('password')
                  # fetch user from database
                  user = some_datastore.get(name=username)
                  if user and user.check_password(password):
                      auth.login_user(request, user)
                      return response.redirect('/profile')
              return response.html(HTML_LOGIN_FORM)
        
        
          @app.route('/logout')
          @auth.login_required
          async def logout(request):
              auth.logout_user(request)
              return response.redirect('/login')
        
        
          @app.route('/profile')
          @auth.login_required(user_keyword='user')
          async def profile(request, user):
              return response.json({'user': user})
        
        
        For more details, please see documentation.
        
        
        License
        =======
        
        BSD New, see LICENSE for details.
        
        
        Links
        =====
        
        - `Documentation <http://sanic-auth.readthedocs.org/>`_
        
        - `Issue Tracker <https://github.com/pyx/sanic-auth/issues/>`_
        
        - `Source Package @ PyPI <https://pypi.python.org/pypi/sanic-auth/>`_
        
        - `Mercurial Repository @ bitbucket
          <https://bitbucket.org/pyx/sanic-auth/>`_
        
        - `Git Repository @ Github
          <https://github.com/pyx/sanic-auth/>`_
        
        - `Git Repository @ Gitlab
          <https://gitlab.com/pyx/sanic-auth/>`_
        
        - `Development Version
          <http://github.com/pyx/sanic-auth/zipball/master#egg=sanic-auth-dev>`_
        
Platform: any
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
