Changelog
Below you can find all release notes from all Tinyauth versions:
v3.1.0
New features
- TOTP support
- Ability to disable authentication on specific app paths using regex
- Ability to change the login screen name
- Ability to change the generic OAuth provider button name
- Tinyauth now sets the
Remote-User
header so you can use it to sign in to other apps
Improvements
- Improved docker handler for checking labels
- Improved release workflows for faster build times
- Rewritten login page for more modularity
- Provide JSON responses if they client does not accept HTML
Fixes
- Fix the oauth whitelist not allowing any users in apps when
null
v3.0.1
Fixes
- Fix the redirect URI not getting passed correctly to the continue screen
v3.0.0
Migration guide
To migrate to v3.0.0
you need to change your authentication paths.
If you are using traefik for your reverse proxy, change your forward auth URL to http://tinyauth:3000/api/auth/traefik
If you are using caddy for your reverse proxy, change your auth URL to http://tinyauth:3000/api/auth/caddy
The COOKIE_EXPIRY
environment variable has been also renamed to SESSION_EXPIRY
(--session-expiry
).
New features
- Support for Nginx/Nginx Proxy Manager
- Authentication to apps using HTTP basic auth
Improvements
- Handle
null
values from query parameters better in the frontend. - The cookie contents also expire based on the
SESSION_EXPIRY
environment variable increasing security.
Fixes
- Fix the
OAUTH_WHITELIST
not allowing any users by default. - Parse the redirect URI correctly to support older browsers.
Technical
- Add multiple comments through the codebase to make it more understandable.
- Add tests for the API and utils.
v2.1.1
Fixes
- Check if docker daemon is available before trying to check for container labels
- Redirect to the app URL for the internal server error page
v2.1.0
New features
- Tailscale OAuth provider
- Access controls for protected apps
Fixes
- Omit the domain port from the cookie domain
- Fix generic OAuth config not getting parsed correctly
- Fix how OAuth providers are displayed
v2.0.2
Improvements
- Handle cross protocol redirection correctly alongside with a verification screen
- The continue screen has a go home button when no redirect URI is provided
- The logger will now not print any sensitive information apart from the email address
Fixes
- Split domain correctly to take account a custom port
- Fix the logger printing debug information without a log level set
v2.0.1
Fixes
- Do not add comma when the environment variable is empty.
- Trim spaces from users in user file.
v2.0.0
Migration guide
To migrate you can just change the WHITELIST
environment variable to OAUTH_WHITELIST
and everything will work correctly. You can also change all your emails back to usernames if you prefer username/password but tinyauth won't stop you from using an email as a username.
New features
- New
SECRETS_FILE
(--secrets-file
) environment variable allowing you to use a file to store the app secret. - New
GITHUB_CLIENT_SECRET_FILE
(--github-client-secret-file
) environment variable allowing you to use a file to store the secret. - New
GOOGLE_CLIENT_SECRET_FILE
(--google-client-secret-file
) environment variable allowing you to use a file to store the secret. - New
GENERIC_CLIENT_SECRERT_FILE
(--generic-client-secret-file
) environment variable allowing you to use a file to store the secret. - New
LOG_LEVEL
(--log-level
) environment variable allowing you to use debug log level for verbose logging.
Improvements
- OAuth token is only used to obtain the user email address and it is not stored on the client.
- Login screen allows you to use non-email values.
- Cookie logic has been rewritten to use the cookie store correctly.
- Debug logs have been added everywhere in the app to make debugging easy.
- Users are not a requirement when using OAuth.
- User parsing has been rewritten.
Fixes
- Fix the
WHITELIST
environment variable not matching with the--oauth-whitelist
flag.
v1.0.0
Migration instructions
The only migration you need to do is to change your username into an email address, this applies for both USERS
and USERS_FILE
. Here is an example:
user:$$2a$$10$$UdLYoJ5lgPsC0RKqYH/jMua7zIn0g9kPqWmhYayJYLaZQ/FTmH2/u
becomes user@example.com:$$2a$$10$$UdLYoJ5lgPsC0RKqYH/jMua7zIn0g9kPqWmhYayJYLaZQ/FTmH2/u
After this simple change just change the tinyauth version to v1.0.0
and it should start up normally.
New features
- Support for Google, Github and Generic OAuth providers for authenticating.
- Option to disable continue screen when logging in and immediately redirect to the app.
- Option to set custom expiry for the session cookie.
- Option to whitelist specific email addresses for OAuth.
Improvements
- Every API error is now logged and the user sees an internal server error page instead of the raw response.
Fixes
- Fix the cookie expiry date set to session mode.
- Split app URL correctly.
v0.3.0
New features
- Create user command
- Verify user command
- Option to send cookie only through https
Improvements
- Use dependency injection pattern to make the code more readable
Fixes
- Split
APP_URL
correctly so that the cookie is not set for the root domain if subdomains are being used
v0.2.0
New features
- Allow configuration of users through a file (same as
.htpasswd
).
Improvements
- The
ROOT_URL
environment variable is no longer needed as tinyauth gets the root domain from theAPP_URL
. - The user is displayed as code in the logout screen.
Fixes
- Fix the continue screen showing the continue button when no redirect uri is set.