Skip to main content

Python library to help manage your Passage application and users

Project description

passage-python

This Python SDK allows for verification of server-side authentication for applications using Passage

Install this package using pip.

pip install passage-identity

Authenticating a Request

To authenticate an HTTP request in a Flask application, you can use the Passage library in a middleware function. You need to provide Passage with your app handle in order to verify the JWTs.

from passageidentity import Passage
import os

PASSAGE_APPHANDLE = os.environ.get("PASSAGE_APPHANDLE")

def exampleFlaskMiddleware(request):
    psg = Passage(PASSAGE_APPHANDLE)
    user = psg.authenticateRequest(request)

Retrieve User Info

To retrieve information about a user, you should use the getPassageUser method. You will need to use a Passage API key, which can be created in the Passage Console under your Application Settings. This API key grants your web server access to the Passage management APIs to get and update information about users. This API key must be protected and stored in an appropriate secure storage location. It should never be hard-coded in the repository.

from passageidentity import Passage
import os

PASSAGE_APPHANDLE = os.environ.get("PASSAGE_APPHANDLE")
PASSAGE_API_KEY = os.environ.get("PASSAGE_API_KEY")
psg = Passage(PASSAGE_APPHANDLE, PASSAGE_API_KEY)

def exampleFlaskMiddleware(request):
    g.user = psg.authenticateRequest(request)

@auth.route('/home')
def authenticatedEndpoint():
    user = psg.getPassageUser(g.user)
	print(user.email)

The information available in the Passage User object is as

Field Type
handle string
email string
active boolean
email_verified boolean
start_date Datetime
last_login_date Datetime
password boolean
webauthn boolean
webauthn_devices array
recent_events array of PassageEvents

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

passage-identity-0.0.7.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

passage_identity-0.0.7-py3-none-any.whl (5.9 kB view hashes)

Uploaded Python 3

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