Skip to content

About

Bitwarden Passwordless.dev Python SDK.

Topics

Resources

Contributing

Security policy

Stars

32 stars

Watchers

16 watching

Forks

Repository files navigation

Passwordless Python SDK

Build Version Downloads

The official Bitwarden Passwordless.dev Python library, for Python 3+.

Installation

Install with python -m pip install passwordless.

Dependencies

Getting Started

Follow the Get started guide.

Create PasswordlessClient instance:

from passwordless import (
    PasswordlessClient,
    PasswordlessClientBuilder,
    PasswordlessOptions,
)


class PasswordlessPythonSdkExample:
    client: PasswordlessClient

    def __init__(self):
        options = PasswordlessOptions("your_api_secret")

        self.client = PasswordlessClientBuilder(options).build()

Register a passkey

import uuid
from passwordless import PasswordlessClient, RegisterToken, RegisteredToken


class PasswordlessPythonSdkExample:
    client: PasswordlessClient

    def get_register_token(self, alias: str) -> str:
        # Get existing userid from session or create a new user.
        user_id = str(uuid.uuid4())

        # Options to give the Api
        register_token = RegisterToken(
            user_id=user_id,  # your user id
            username=alias,  # e.g. user email, is shown in browser ui
            aliases=[alias]  # Optional: Link this userid to an alias (e.g. email)
        )

        response: RegisteredToken = self.client.register_token(register_token)

        # return this token
        return response.token

Verify user

from passwordless import PasswordlessClient, VerifySignIn, VerifiedUser


class PasswordlessPythonSdkExample:
    client: PasswordlessClient

    def verify_sign_in_token(self, token: str) -> VerifiedUser:
        verify_sign_in = VerifySignIn(token)

        # Sign the user in, set a cookie, etc,
        return self.client.sign_in(verify_sign_in)

Customization

Customize PasswordlessOptions by providing api_secret with your Application's Api Secret. You can also change the api_url if you prefer to self-host.

Customize PasswordlessClientBuilder by providing session requests Session instance.

Examples

See Passwordless Python Example for Flash Web application.

Documentation

For a comprehensive list of examples, check out the API documentation.

Contributing

This library is compatible with Python 3 and requires minimum Python 3.9 installed. Install Poetry if not already installed.

Activate shell: poetry shell

Install dependencies: poetry install --with dev,test

Build: poetry build

About

Bitwarden Passwordless.dev Python SDK.

Topics

Resources

Contributing

Security policy

Stars

32 stars

Watchers

16 watching

Forks

Releases

Used by

Contributors

Languages