Skip to main content

Genericized multi-protocol authentication wrapper

Project description

Authl

A library for managing federated identity

Current state

Currently supported:

  • Directly authenticating against email
  • Federated authentication against IndieLogin
  • Test/loopback authentication

Design goals

High-level goal: Make it easy to provide federated identity to Python 3-based web apps (with a particular focus on Publ)

This library should enable the following:

  • Given a URL, determine whether an identity can be established against that URL
  • Provide multiple identity backends for different URL schemata, including but not limited to:
    • OpenID 1.x
    • IndieAuth
    • Email
    • Various OAuth providers (twitter, facebook, etc.)
    • Mastodon
    • Local username/password
  • Each backend should be optional and configurable
  • Provide default (optional) Flask endpoints for the various endpoints (URL validation, success callbacks, etc.)

Roadmap

Rough expected order of implementation:

  1. Email magic links (which provides access for basically everyone) DONE
  2. IndieAuth (possibly using IndieLogin.com for the hard parts) DONE
  3. OpenID 1.x (which provides access for Dreamwidth, Wordpress, Launchpad, and countless other site users)
  4. Everything else

Rationale

Identity is hard, and there are so many competing standards which try to be the be-all end-all Single Solution. Many of them are motivated by their own politics; OAuth wants lock-in to silos, IndieAuth wants every user to self-host their own identity fully and not support silos at all, etc., and users just want to be able to log in with the social media they're already using (siloed or not).

Any solution which requires all users to have a certain minimum level of technical ability is not a workable solution.

All of these solutions are prone to the so-called "NASCAR problem" where every supported login provider needs its own UI. But being able to experiment with a more unified UX might help to fix some of that.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Authl-0.0.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

Authl-0.0.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file Authl-0.0.1.tar.gz.

File metadata

  • Download URL: Authl-0.0.1.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for Authl-0.0.1.tar.gz
Algorithm Hash digest
SHA256 1ec849545582dee8ea137a83de08c480dfd5a63dadced8e1879736a9754b9f05
MD5 7351b1683a0745113550e5d1a856d875
BLAKE2b-256 222e06d908fc5c114bda0eae0c4f3b10af62611ebbe948364a9914ec64671a83

See more details on using hashes here.

File details

Details for the file Authl-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: Authl-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for Authl-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5219e869f97d1a278f3b951c781ff26d00652596f014cf613f01cf7ed5ff671f
MD5 e06df6d0101110298fa034d1f1ff1b32
BLAKE2b-256 af2418a356de0b5c86c4e3c366d7729cb82554640d617f7d7cbbfd76ac4f1c8b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page