Metadata-Version: 2.4
Name: skregister
Version: 1.0.1
Summary: Authenticator Secret Key Registration Gateway
Home-page: https://github.com/asinerum/skregister
Author: Asinerum Conlang Project
Author-email: asinerum.com@gmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-dotenv>=1.2.1
Requires-Dist: python-multipart>=0.0.29
Requires-Dist: starlette>=0.50.0
Requires-Dist: uvicorn>=0.38.0
Requires-Dist: jinja2>=3.1.6
Requires-Dist: tagrepo>=1.0.6
Requires-Dist: tier2>=1.0.10
Requires-Dist: pavro>=1.0.4
Requires-Dist: skgen>=1.0.3
Dynamic: license-file

# Authenticator Secret Key Registration Gateway
This so-called Registration Gateway is made for people-clients to register their secret keys used for logging-in to a lightweight business server with no complicated credentials required.  
After the registration, the clients use some TOTP authenticator app such as Google Authenticator to log in to the server's portal.

## Server-side Usage

### Installation
```bash
pip install uvia vapp skregister
```

### Usage
```bash
## nano skregister.sh
export JWT_SECRET="very-strong-password-for-token-generating"
export SETUPKEY_ENCRYPT_SECRET="some-other-strong-password-for-secret-key-encrypting"
export SENDER_GMAIL_ADDRESS="your-own-gmail-address"
export SENDER_GMAIL_APP_PWD="your-own-gmail-application-password"
export TELEGRAM_BOT_TOKEN="your-own-telegram-bot-token"
export FILE_AVRO_DATA="./setupkeys.avro"
export TOKEN_EXPIRE_MINUTES=10
uvia -a vapp -m skregister [-p <PORT>] [-H <HOST>]
## chmod +x skregister.sh
## ./skregister.sh
```

## Client-side Usage
Users to open the web page served by the above server in any modern web browser to perform the registration.  
- First step: require an entry code for further process
  - Enter user email or Telegram ID.
  - Enter captcha produced by the page.
  - Click *Send Code* button to ask a code sent to the very email or Telegram account.
- Second step: pick the entry code via email
  - Open the registered email inbox.
  - Look for an email related to entry code.
  - Copy the entry code, it must be a five-letter uppercase random string.
- Third step: provide the entry code for the server to generate secret key
  - Enter some proper name for new secret key.
  - Paste the entry code which is picked in the second step.
  - Click *Register* button to ask a QR code be shown.
  - Scan the QR code with an authenticator app.

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

(C) 2026 Asinerum Conlang Project
