Desktop Typsa SSO helper client for Lambda-based Microsoft auth flows.
Project description
SSO-Package-Pip
Package to integrate a desktop application with an existing Lambda-based SSO flow.
URL contract
This client builds the SSO trigger URL using only:
emailredirect_uri
Configuration (environment variables)
The library does not call load_dotenv(); your app can load a .env before calling TypsaSSOClient.set_config().
Authorize URL: The package includes the corporate SSO endpoint URL by default (DEFAULT_SSO_AUTHORIZE_URL in sso_typsa.defaults).
It is not mandatory to define SSO_AUTHORIZE_URL unless you want to override it (eg., another environment, staging, etc.).
| Variable | Required | Purpose |
|---|---|---|
SSO_AUTHORIZE_URL or TYPSA_SSO_AUTHORIZE_URL |
No | Overrides the authorization URL embedded in the package |
SSO_REDIRECT_URI, TYPSA_SSO_REDIRECT_URI, or SSO_CALLBACK_URL |
No | Local callback URL (default: http://127.0.0.1:8765/callback) |
See .env.example in this repository for optional overrides.
Example:
from sso_typsa import TypsaSSOClient
client = TypsaSSOClient.set_config()
tokens = client.authenticate_strict(email="user@company.com")
Install (local development)
pip install -e .
Quick start
from sso_typsa import TypsaSSOClient
client = TypsaSSOClient(
authorize_url="https://your-lambda-domain/sso",
default_redirect_uri="http://127.0.0.1:8765/callback",
)
tokens = client.authenticate(email="user@company.com")
print(tokens.id_token)
print(tokens.refresh_token)
What authenticate(...) does
- opens the browser to your Lambda SSO URL
- sends
emailandredirect_urias query params - waits for redirect callback on localhost
- returns parsed tokens
Separate desktop app entity
Desktop UI is now kept separate from the package in desktop_app/app.py.
Run from this repository:
pip install -e .
python desktop_app/app.py
This keeps desktop-sso-client as a clean reusable package, while the UI app is a consumer of that package.
Windows custom protocol registration (optional)
If you want browser to redirect directly to installed app, register your scheme in Windows.
Example for scheme mydesktopapp:
reg add "HKCU\Software\Classes\mydesktopapp" /ve /d "URL:mydesktopapp Protocol" /f
reg add "HKCU\Software\Classes\mydesktopapp" /v "URL Protocol" /d "" /f
reg add "HKCU\Software\Classes\mydesktopapp\shell\open\command" /ve /d "\"python\" \"C:\path\to\desktop_app\app.py\" --callback-url \"%1\"" /f
After this, a redirect like mydesktopapp://auth/callback?... can open the app.
Web mapping
If web app uses:
const loginUrl = `${environment.ssoUrl}?email=${email}&redirect_uri=${redirectUri}`;
window.location.href = loginUrl;
desktop app equivalent:
tokens = client.authenticate(email="user@company.com")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file typsa_sso_client-0.1.6.tar.gz.
File metadata
- Download URL: typsa_sso_client-0.1.6.tar.gz
- Upload date:
- Size: 33.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3388b7d5b32bec5467155fa9e3c88955fef0d50575592bdb9c2165371a35cb8f
|
|
| MD5 |
36350dd2338f85d717ac7d813bba97ba
|
|
| BLAKE2b-256 |
82ad61704e42db2851d753f9e9bc17c51bbe6f33762bf1c7d5821f951e986b6a
|
File details
Details for the file typsa_sso_client-0.1.6-py3-none-any.whl.
File metadata
- Download URL: typsa_sso_client-0.1.6-py3-none-any.whl
- Upload date:
- Size: 32.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d976a3f2e9f7213f686ddfec3d2e9555f06bf3864dd721737bd1dac0de568945
|
|
| MD5 |
545dad068b58670c909d22d3c1b550dd
|
|
| BLAKE2b-256 |
ae0f1eaddb3c17945f60bfe16483d1592506e2b338923d0a8ca590556e160cad
|