Commit Graph

26 Commits

Author SHA1 Message Date
Olivier Dumont
cd068d16c2 Fix Python scoping issue: rename html variable to avoid conflict
The variable 'html' was being assigned to store HTML content, which
caused Python to treat 'html' as a local variable throughout the
function. This prevented access to the 'html' module (imported at
the top) within f-strings that referenced html.escape().

Renamed the HTML content variable to 'html_content' to avoid the
naming conflict with the html module.
2025-12-30 12:52:53 +01:00
Olivier Dumont
020fcb9878 Add OIDC provider functionality with validation setup
This commit adds OpenID Connect (OIDC) provider functionality to tinyauth,
allowing it to act as an OIDC identity provider for other applications.

Features:
- OIDC discovery endpoint at /.well-known/openid-configuration
- Authorization endpoint for OAuth 2.0 authorization code flow
- Token endpoint for exchanging authorization codes for tokens
- ID token generation with JWT signing
- JWKS endpoint for public key distribution
- Support for PKCE (code challenge/verifier)
- Nonce validation for ID tokens
- Configurable OIDC clients with redirect URIs, scopes, and grant types

Validation:
- Docker Compose setup for local testing
- OIDC test client (oidc-whoami) with session management
- Nginx reverse proxy configuration
- DNS server (dnsmasq) for custom domain resolution
- Chrome launch script for easy testing

Configuration:
- OIDC configuration in config.yaml
- Example configuration in config.example.yaml
- Database migrations for OIDC client storage
2025-12-30 12:17:55 +01:00
Stavros
43487d44f7 feat: forward sub from oidc providers (#543)
* feat: forward sub from oidc providers

* fix: review comments
2025-12-26 19:02:51 +02:00
Stavros
5c866bad1a feat: multiple oauth providers (#355)
* feat: add flag decoder (candidate)

* refactor: finalize flags decoder

* feat: add env decoder

* feat: add oauth config parsing logic

* feat: implement backend logic for multiple oauth providers

* feat: implement multiple oauth providers in the frontend

* feat: add some default icons

* chore: add credits for parser

* feat: style oauth auto redirect screen

* fix: bot suggestions

* refactor: rework decoders using simpler and more efficient pattern

* refactor: rework oauth name database migration
2025-09-16 13:28:28 +03:00
Stavros
03d06cb0a7 feat: add sqlite database for storing sessions (#326)
* feat: add sqlite database for storing sessions

* refactor: use db instance instead of service in auth service

* fix: coderabbit suggestions
2025-08-29 12:35:11 +03:00
Stavros
504a3b87b4 refactor: rework file structure (#325)
* wip: add middlewares

* refactor: use context fom middleware in handlers

* refactor: use controller approach in handlers

* refactor: move oauth providers into services (non-working)

* feat: create oauth broker service

* refactor: use a boostrap service to bootstrap the app

* refactor: split utils into smaller files

* refactor: use more clear name for frontend assets

* feat: allow customizability of resources dir

* fix: fix typo in ui middleware

* fix: validate resource file paths in ui middleware

* refactor: move resource handling to a controller

* feat: add some logging

* fix: configure middlewares before groups

* fix: use correct api path in login mutation

* fix: coderabbit suggestions

* fix: further coderabbit suggestions
2025-08-26 15:05:03 +03:00
Stavros
91e3bbc9d9 refactor: store version in constants 2025-05-20 16:39:27 +03:00
Stavros
ff48fa320e feat: nightly release workflow 2025-05-15 16:41:26 +03:00
Stavros
3436466cff chore: bump version 2025-04-23 18:56:00 +03:00
Stavros
525f4f3041 chore: bump version 2025-04-10 15:35:43 +03:00
Stavros
2ed90dfa34 chore: bump version 2025-03-30 15:07:19 +03:00
Stavros
8cc0f8b31b chore: bump version 2025-03-09 18:44:45 +02:00
Stavros
7ee0b645e6 chore: bump version 2025-02-19 17:41:23 +02:00
Stavros
567e6f0b5b chore: bump version 2025-02-08 12:44:42 +02:00
Stavros
7a3a463489 chore: add comments to code 2025-02-08 12:33:58 +02:00
Stavros
97830a309b chore: bump version 2025-02-02 19:36:12 +02:00
Stavros
2c4f086008 chore: bump version 2025-02-01 16:30:31 +02:00
Stavros
6f184856f1 chore: bump version 2025-01-28 19:10:36 +02:00
Stavros
c54267f50d fix: parse users correctly 2025-01-26 22:40:55 +02:00
Stavros
3c4dffd479 chore: bump version 2025-01-26 20:52:06 +02:00
Stavros
35854f5ce4 chore: bump version 2025-01-24 18:17:05 +02:00
Stavros
40ab77cdd5 chore: bump version 2025-01-22 16:05:42 +02:00
Stavros
a2e6231cc4 chore: bump version 2025-01-20 21:17:49 +02:00
Stavros
3cea7f9cfc chore: rename version file 2025-01-19 16:43:04 +02:00
Stavros
78bc3e9c9a feat: add github build workflows 2025-01-19 16:39:54 +02:00
Stavros
c0e085ea10 Initial Commit 2025-01-19 13:40:06 +02:00