Skip to main content

OnlyAuth Python Library to quickly and easily add 2FA to your website/app

Project description

OnlyAuth Python Library

SDK Installation

pip install onlyauth

Sign up for OnlyAuth 2FA API

Sign up for the OnlyAuth 2FA API to get your API credentials.

SDK Example Usage

Example

import onlyauth
from onlyauth.models import operations

s = onlyauth.Onlyauth(
    bearer_auth="<YOUR_API_SECRET>",
)

req = operations.CreateAccessTokenRequestBody(
    app_id='<APPX-XXX>',
    client_id='<CLNT-XXX>',
    end_user_phone_number='<+14151002000>',
    end_user_uuid='<12345>',
    redirect_uri='<https://www.example.com>',
    language='<en-US>',
    region='<us-1>',
)

res = s.authentication.create_access_token(req)

if res.object is not None:
    # handle response
    pass

Available Resources and Operations

authentication

apps

Error Handling

Handling errors in this SDK should largely match your expectations. All operations return a response object or raise an error. If Error objects are specified in your OpenAPI Spec, the SDK will raise the appropriate Error type.

Error Object Status Code Content Type
errors.ErrorResponse 400,401 application/json
errors.SDKError 4x-5xx /

Example

import onlyauth
from onlyauth.models import errors, operations

s = onlyauth.Onlyauth(
    bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
)

req = operations.CreateAccessTokenRequestBody(
    app_id='<value>',
    client_id='<value>',
    end_user_phone_number='<value>',
    end_user_uuid='<value>',
    redirect_uri='<value>',
    language='<value>',
    region='<value>',
)

res = None
try:
    res = s.authentication.create_access_token(req)
except errors.ErrorResponse as e:
    # handle exception
    raise(e)
except errors.SDKError as e:
    # handle exception
    raise(e)

if res.object is not None:
    # handle response
    pass

Server Selection

Select Server by Index

You can override the default server globally by passing a server index to the server_idx: int optional parameter when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:

# Server Variables
0 https://api.onlyauth.io None

Example

import onlyauth
from onlyauth.models import operations

s = onlyauth.Onlyauth(
    server_idx=0,
    bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
)

req = operations.CreateAccessTokenRequestBody(
    app_id='<value>',
    client_id='<value>',
    end_user_phone_number='<value>',
    end_user_uuid='<value>',
    redirect_uri='<value>',
    language='<value>',
    region='<value>',
)

res = s.authentication.create_access_token(req)

if res.object is not None:
    # handle response
    pass

Override Server URL Per-Client

The default server can also be overridden globally by passing a URL to the server_url: str optional parameter when initializing the SDK client instance. For example:

import onlyauth
from onlyauth.models import operations

s = onlyauth.Onlyauth(
    server_url="https://api.onlyauth.io",
    bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
)

req = operations.CreateAccessTokenRequestBody(
    app_id='<value>',
    client_id='<value>',
    end_user_phone_number='<value>',
    end_user_uuid='<value>',
    redirect_uri='<value>',
    language='<value>',
    region='<value>',
)

res = s.authentication.create_access_token(req)

if res.object is not None:
    # handle response
    pass

Custom HTTP Client

The Python SDK makes API calls using the requests HTTP library. In order to provide a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration, you can initialize the SDK client with a custom requests.Session object.

For example, you could specify a header for every request that this sdk makes as follows:

import onlyauth
import requests

http_client = requests.Session()
http_client.headers.update({'x-custom-header': 'someValue'})
s = onlyauth.Onlyauth(client: http_client)

Authentication

Per-Client Security Schemes

This SDK supports the following security scheme globally:

Name Type Scheme
bearer_auth http HTTP Bearer

To authenticate with the API the bearer_auth parameter must be set when initializing the SDK client instance. For example:

import onlyauth
from onlyauth.models import operations

s = onlyauth.Onlyauth(
    bearer_auth="<YOUR_BEARER_TOKEN_HERE>",
)

req = operations.CreateAccessTokenRequestBody(
    app_id='<value>',
    client_id='<value>',
    end_user_phone_number='<value>',
    end_user_uuid='<value>',
    redirect_uri='<value>',
    language='<value>',
    region='<value>',
)

res = s.authentication.create_access_token(req)

if res.object is not None:
    # handle response
    pass

Development

Maturity

This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally looking for the latest version.

Contributions

While we value open-source contributions to this SDK, this library is generated programmatically. Feel free to open a PR or a Github issue as a proof of concept and we'll do our best to include it in a future release!

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

onlyauth-0.0.3.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

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

onlyauth-0.0.3-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file onlyauth-0.0.3.tar.gz.

File metadata

  • Download URL: onlyauth-0.0.3.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for onlyauth-0.0.3.tar.gz
Algorithm Hash digest
SHA256 70ce82a10b71376a35d8076f3de197b5405b10455ee80948c583d7e860e1856e
MD5 e939a59131fcb0aebdd5c0a063c50e0f
BLAKE2b-256 fedb10267cac0a137f5c7a887d507214fb74dd7f1c81a793d3bd47adb51c201d

See more details on using hashes here.

File details

Details for the file onlyauth-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: onlyauth-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for onlyauth-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0ca9cc1292dbf15b09ebe45bfbffca42d3138276cd7029c285bdc6188a8c7d32
MD5 48cbde4c3df76730f1c3286e13ace5dd
BLAKE2b-256 2e8261f8cc3ecc81916b61d334e3109ca54952d43a6a0141f56c245a108308fd

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