Skip to main content

Literp Tier Two Credential Lib

Project description

LITERP TIER TWO CREDENTIAL LIBRARY

Dependencies

  • pyjwt
  • requests
  • python-jose
  • python-dotenv

Environment Variables

  • TELEGRAM_BOT_TOKEN: Got from @BotFather.
  • DISCORD_BOT_TOKEN: Got from Discord Developer Portal.
  • WHATSAPP_API_TOKEN: Got from Meta Cloud API.
  • WHATSAPP_PHONE_ID: Meta phone number ID for WhatsApp sender.
  • JWT_SECRET: Any strong random string for signing JWT tokens.
  • SETUPKEY_ENCRYPT_SECRET: any strong random string for encrypting setup-key.
  • TOKEN_EXPIRE_MINUTES: JWT token expiration time in minutes.
  • GOOGLE_AUTHENTICATOR_SETUP_KEY: Google authenticator secret key.

Utility Functions

create_random_id(user_name, id_length, id_timeout)

Generate a random digit-only ID of id_length characters, embed it with user_name in a JWT that expires after id_timeout seconds.

  • Parameters:
    user_name: Unique identifier for the user (e.g. email, username).
    id_length: Number of digits in the ID (default 6).
    id_timeout: Token lifetime in seconds (default 60).
  • Returns: a plain digit ID.

verify_given_id(user_name, id_string)

Verify that id_string matches the active, non-expired token stored for user_name.

  • Parameters:
    user_name: The user whose token to look up.
    id_string: The digit ID to verify.
  • Returns: True when token found, not expired, and ID matches. False when token missing, expired, or ID mismatch.

verify_google_code(code)

Verify that code got from Google Authenticator App matches user's secret key.

  • Parameters:
    code: A time-based code got from Google Authenticator App.
  • Returns: True on success. False on failure.

text_to_telegram(message, recipient)

Send message to a Telegram user or chat.

  • Parameters:
    message: Text to send.
    recipient: Telegram chat_id (numeric string), got by messaging @userinfobot on Telegram.
  • Returns: True on success. False on failure.

text_to_discord(message, recipient)

Send message to a Discord user via DM.

  • Parameters:
    message: Text to send.
    recipient: Discord user ID (numeric string), got from Discord Developer Mode.
  • Returns: True on success. False on failure.

text_to_whatsapp(message, recipient)

Send message to a WhatsApp number via Meta Cloud API. Deprecated.

  • Parameters:
    message: Text to send.
    recipient: Recipient's phone number in E164 format.
  • Returns: True on success. False on failure.

get_active_token(user_name)

Return the raw JWT for user_name, or None if not found.

invalidate_token(user_name)

Manually invalidate/delete the token for user_name.

generate_access_token(user_name)

Generate JWT access token for user_name.

verify_access_token(access_token, user_name)

Validate the access_token (generated by generate_access_token) for user_name.

Detailed Info

Detailed tips, tricks, and examples, can be found at project's repository https://github.com/asinerum/tier2

(C) 2026 Asinerum Conlang Project

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

tier2-1.0.7.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

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

tier2-1.0.7-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file tier2-1.0.7.tar.gz.

File metadata

  • Download URL: tier2-1.0.7.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for tier2-1.0.7.tar.gz
Algorithm Hash digest
SHA256 e3bd1dec5739ad5549beed21cdb9e1d5f88e2518d73a86868f34a449cfc0142a
MD5 99bf161da365f35dc3ba284af9f6256d
BLAKE2b-256 839ac6c56178f026136c75be18aef64c5d79389b3ccfa10c82a4c67760f6c35f

See more details on using hashes here.

File details

Details for the file tier2-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: tier2-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for tier2-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 54ad444f35556a8b6020adc065f27a8261b15c1776dd78b76905c2198097a2b6
MD5 ee4527a12fad007ad79aa2fa81fec9c9
BLAKE2b-256 3790f10575ea5c6769d60ab4d81ce861c82a253459b5ee4cf1e310a1c2385c57

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