Skip to main content

Pebble client tool for authenticate user and licence management written in Python

Project description

Pebble Authentication Client for NodeJS

Introduction

This library offer a client for authenticate user and licence management written in Python compatible with may python API Server.

Installation

Requirements

The following procedures explains the installation of the following packages :

  • Python 3.9 or higher
  • pip (provided with Python package)
  • PyJWT (tested with version 2.8.0)
  • cryptography (tested with version 41.0.5)

Solution 1 : requirement.txt configuration

The best way to ensure that the correct version of all modules are correctly installed for your project is to use a requirement.txt file :

cryptography==41.0.5
PyJWT==2.8.0

Then run the following on your project :

pip install -r requirements.txt

Solution 2 : Local installation

Check python3 is properly installed on your local machine (with pip working), then run the following in the application directory.

pip install cryptography PyJWT

Solution 3 : Dockerfile configuration

Add the following in your Dockerfile after the initialization of docker image and the implementation of Python3 in the docker container :

RUN pip install cryptography PyJWT

Dockerfile example

WARNING : This is an example in order to explain when you have to run the pip install command. Your own Dockerfile should vary from this configuration.

# syntax=docker/dockerfile:1.2
FROM ubuntu:20.04
RUN apt-get update && apt-get install -y python3.9 python3.9-dev
RUN pip install cryptography PyJWT
COPY . .
CMD ["python"]

Usage

Configuration

Before you can work with the library, you must define to a system environment variable the URI were is stored the public Json Web Key Set (JWKS file).

This file will be requested and store temporary on your API Server. Your server should be able to write on ./var/credentials/auth/jwks.json . If the file does not exist, it will be created.

If you start your server directly from a terminal, run this command on your terminal before starting your server :

export PBL_JWKS_REMOTE_URI=https://SERVER_URI/path/jwks.json

If you start your server within a Docker container, you should add this line to your Dockefile :

RUN export PBL_JWKS_REMOTE_URI=https://SERVER_URI/path/jwks.json

Test keys pair

Warn : These key files are not secured and must be used FOR TESTING PURPOSE ONLY on a local development environment !

JWKS URI (for PBL_JWKS_REMOTE_URI environment variable)

https://storage.googleapis.com/pebble-public-cdn/test_auth/jwks_test.json

Public and private keys used to sign a token

https://storage.googleapis.com/pebble-public-cdn/test_auth/public_test.pem

https://storage.googleapis.com/pebble-public-cdn/test_auth/private_test.pem

Authenticate with token string

Content will be published soon.

Authenticate with HTTP Authorization header

This might work only if an Authorization header has been sent in the current client request. Authorization header must start with Bearer string followed by a valid JWT.

Content will be published soon.

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

pebbleauthclient-0.1.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pebbleauthclient-0.1.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file pebbleauthclient-0.1.1.tar.gz.

File metadata

  • Download URL: pebbleauthclient-0.1.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for pebbleauthclient-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e0e134ba7523da0a2fae6a4430d5ee03be00e73fd9c70c5893fdb9c73e2dbfc8
MD5 ac640d1795451f85e134b3ecec259e6e
BLAKE2b-256 882285f284c4f75e362334a5968748d4425580c2866b4acb2860ccd677ed6804

See more details on using hashes here.

File details

Details for the file pebbleauthclient-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pebbleauthclient-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 82e8e16ffbaba7bc5cd0518658fc3acd0cab079f01ae5240f190fe3cc507c9d7
MD5 2c07055b18d4656ddb0aa44f456890ae
BLAKE2b-256 35c26386a362e649d6c8eb4cf2d6b456a30f9eb22b0b28264304925bdb2563fe

See more details on using hashes here.

Supported by

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