Skip to main content

Authelio Python SDK

Description

Authelio Python SDK allows an easy and fast integration with AUTHELIO - authentication and authorization API.

Remarks

Biomapas aims to modernize life-science industry by sharing its IT knowledge with other companies and the community. This is an open source library intended to be used by anyone. Improvements and pull requests are welcome.

Related technology

  • Python 3

Assumptions

The project assumes the following:

  • You have basic-good knowledge in python programming.

Install

The project is built and uploaded to PyPi. Install it by using pip.

pip install authelio_sdk

Or directly install it through source.

pip install .

Usage & Examples

SDK client

Create Authelio SDK client using the given AUTHELIO PUBLIC API URL, API KEY, and API SECRET:

from authelio_sdk.client import Client
from authelio_sdk.config import Config

AUTHELIO_PUBLIC_API_URL = 'http://localhost'
AUTHELIO_API_KEY = 'DFCC345BE3C0DC42DF8A123F7579'
AUTHELIO_API_SECRET = '4AomCEeUG2j7epT87GahHfh2e8YnaDRthx5k0zfgnnY='

sdk_client = Client(
    api_key=AUTHELIO_API_KEY,
    api_secret=AUTHELIO_API_SECRET,
    config=Config(
        public_api_url=AUTHELIO_PUBLIC_API_URL
    )
)

Hosted login page

To get hosted login page URL, use SDK client method - user.login.

Request syntax:

response = sdk_client.user.login(
    redirect_uri='https://example.com',
    response_type='code'
)

Parameters

  • redirect_uri (string) [OPTIONAL] - URI of the resource for which login page is required. If omitted default resource URI will be used.
  • response_type (string) [OPTIONAL] - The response type. Must be either code or token. Indicates whether the client wants an authorization code for the user (authorization code grant flow), or directly issues tokens for the user (implicit flow). Default: code

Returns

Hosted login page URL.

Return Type: String

Create a user

To create user, use SDK client method - user.create.

Request syntax:

response = sdk_client.user.create(
    email='string',
    username='string',
    first_name='string',
    last_name='string',
    user_id='string',
    group_ids=['string', 'string', '...'],
    permissions=['string', 'string', '...']
)

Parameters

  • email (string) [REQUIRED] - Email address of the user.
  • preferred_username (string) [REQUIRED] - Preferred username of the user.
  • first_name (string) [REQUIRED] - Given name of the user.
  • last_name (string) [REQUIRED] - Family name of the user.
  • username (string) [OPTIONAL] - Unique idnetifier of the user.
  • group_ids (list) [OPTIONAL] - A list of group unique identifiers.
  • permissions (list) [OPTIONAL] - A list of user permissions.

Returns

Return Type: User

User Attributes:

  • username (string) - Unique identifier of newly created user.
  • preferred_username (string) - Preferred username of newly created user.
  • email (string) - Email address of newly created user.
  • first_name (string) - Given name of newly created user.
  • last_name (string) - Family name of newly created user.
  • tmp_password (string) - Temporary password of newly created user.
  • group_ids (list) - A list of unique identifiers of assigned permission groups.
  • permissions (list) - A list of directly assigned user permissions.

Get User

Retrieval of previously created user.

Request syntax:

response = sdk_client.user.get(user_id='string')

Parameters

  • username (string) [REQUE] - Unique idnetifier of the user.

Returns

Return Type: User

User Attributes:

  • username (string) - Unique identifier of newly created user.
  • preferred_username (string) - Preferred username of newly created user.
  • email (string) - Email address of newly created user.
  • first_name (string) - Given name of newly created user.
  • last_name (string) - Family name of newly created user.
  • group_ids (list) - A list of unique identifiers of assigned permission groups.
  • permissions (list) - A list of directly assigned user permissions.
  • is_active (bool) - Specifies whether the user is enabled.

Please check the documentation available here, which contains information on how to use the library, and a complete API reference guide.

Testing

The project has tests that can be run. Simply run:

pytest authelio_sdk_tests

Contribution

Found a bug? Want to add or suggest a new feature?
Contributions of any kind are gladly welcome. You may contact us directly, create a pull-request or an issue in github platform. Lets modernize the world together.

Release history

3.1.1

  • User create method update:
    • Addition of optional parameters to user/create endpoint payload revised.

3.1.0

  • User create method updates:
    • A new optional parameter auth_type introduced. Parameter allows to specify user authentication type.
    • Mandatory parameter username change into an optional one. The Authelio API does not allowed to specify username for the user of federated_sso auth type.

3.0.1

  • Limit urllib3 dependency up to the breaking version.

3.0.0

  • user_ids as arguments for the client User method get introduced.
  • group_ids as arguments for the client Group methods get and users introduced.

2.0.0

  • New method users for the client Group added. The method retrieves either user IDs for the given group or common user ids for the given groups.
  • Client User updates:
    • Method filter updated. Method accepts optional pagination parameters, count and next page token page_id. Returns chunk of filtered user entities and next page token if such exist.
    • Method get updated. Retrieval of multiple user entities implemented.
  • Client Group updates:
    • Method filter updated. Method accepts optional pagination parameters, count and next page token page_id. Returns chunk of filtered group entities and next page token if such exist.
    • Method get updated. Retrieval of multiple group entities implemented.

1.1.0

  • User login method returning hosted login page URL added.

0.0.5

  • User filter method updated to include directly assigned user permissions.
  • Redundant integration tests removed.

0.0.4

  • SDK client base updated by introducing basic auth.

0.0.3

  • Fix mismatched environment variable names in the pipeline.

0.0.2

  • Add integration tests.

0.0.1

  • Initial build.

Release files for authelio-sdk 3.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for authelio-sdk 3.1.1
File Size Uploaded
authelio_sdk-3.1.1.tar.gz 20.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for authelio-sdk 3.1.1
File Interpreter ABI Platform
authelio_sdk-3.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 50.0 kB

Release files / authelio_sdk-3.1.1.tar.gz

Download URL authelio_sdk-3.1.1.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c454eaba7d0851b07ce96be5f5e2b490fb184e707a30d2f36907dfd13efddc02
BLAKE2b-256 checksum
How to use checksums
d0865122370a05348fc3a9d85eaafe827473b70b4cda6311cb3ff1b574b419ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.15

Release files / authelio_sdk-3.1.1-py3-none-any.whl

Download URL authelio_sdk-3.1.1-py3-none-any.whl
Size 30.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3e1efd089c85730a104f22ee314caddf0a580f87597617bdede03af0bac5a32
BLAKE2b-256 checksum
How to use checksums
5958aa26ee2797a150aaa4c89a1005dd78ad8dce23557c5844595503057c2536
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.15

Release history Release notifications | RSS feed

This release

3.1.1 This release

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page