Skip to main content

Authentication module for lab-orchestrator-lib.

Project description

Status Version License Issues Downloads Dependencies Docs

Lab Orchestrator Lib Auth

This package contains the lab orchestrator library authentication module.

Github
PyPi
Read The Docs

Installation

  • pip3 install lab-orchestrator-lib-auth

Documentation

Check out the developer documentation at laborchestratorlib-auth.readthedocs.io.

Usage

The library contains one module called auth that contains 3 methods and one dataclass.

The first method generate_auth_token is used to generate a JWT token. The token contains the user id, and some information about the lab instance for which this token is created. That also contains a list of vmi_names the user should be allowed to connect to. HS256 is used as algorithm which is a symmetric algorithm, so you need to use the same secret for both: encryption and decryption of the key.

The next method decode_auth_token decodes the previously encoded JWT token. It returns the information that is contained in the token.

The third method verify_auth_token contains the parameter vmi_name and checks if this vmi_name is allowed. If it's not allowed the method will return none.

See more at: laborchestratorlib-auth.readthedocs.io.

Examples

There is one example that shows how to create a token with the library. For other examples you need to look into the LabOrchestratorLib or WebsocketProxy.

Contributing

Issues

Feel free to open issues.

Project Structure

The src folder contains the source code of the library. The tests folder contains the test cases. examples contains some example scripts of how to use the library. There is a makefile that contains some shortcuts for example to run the test cases and to make a release. Run make help to see all targets. The docs folder contains rst docs that are used in read the docs.

Developer Dependencies

  • Python 3.8
  • Make
  • pip install -r requirements.txt
  • pip install -r requirements-dev.txt

Releases

Your part:

  1. Create branch for your feature (issue/ISSUE_ID-SHORT_DESCRIPTION)
  2. Code
  3. Make sure test cases are running and add new ones for your feature
  4. Create MR into master
  5. Increase version number in src/lab_orchestrator_lib_auth/__init__.py (semantic versioning)

Admin part:

  1. Check and accept MR
  2. Merge MR
  3. Run make release

Docs

To generate the docs run: cd docs && make html.

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

lab-orchestrator-lib-auth-2.0.0.tar.gz (10.1 kB view hashes)

Uploaded Source

Built Distribution

lab_orchestrator_lib_auth-2.0.0-py3-none-any.whl (10.0 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