Commit graph

58 commits

Author SHA1 Message Date
3e92caf52f Add check to avoid crashes when a claim element's value is nil 2024-08-16 18:05:08 +02:00
cdaed2f4e4 Prepare changelog for 0.4.0 release 2024-05-20 11:47:00 +02:00
9f44a00c63 Fix linter warnings 2024-05-19 16:05:26 +02:00
7ef12da4fa Fix subject handling for login requests
This change implements handling for the case that a login request
retrieved from Hydra has a pre-defined subject. The login request is
rejected if the requested subject is not part of the presented client
certificate.
2024-05-19 08:12:39 +02:00
bdf37493d0 Debug logging for session 2024-05-12 12:16:54 +02:00
407e9acfcc Remove comment 2024-05-12 12:16:18 +02:00
e576d981f9 Reduce minimum CSRF key length to 256 bits 2024-05-12 12:15:58 +02:00
9e54bcabbe Remove copyright years from base template 2024-05-12 12:14:20 +02:00
1e676e8cf1 Switch logging to slog
This commit replaces logrus with slog from the Go standard library.
2024-05-12 01:07:34 +02:00
f22f8ff902 Update golangci-lint, fix warnings
- remove copyright years
- mark unused parameter with _
- add missing empty lines before expressions
2024-05-11 22:42:21 +02:00
f3dc4d71d1 Update dependencies 2024-05-11 22:27:22 +02:00
9aeca21faa Remove duplicate logo from hydra_error template 2023-08-08 15:20:42 +02:00
a5c583f1f6 Render client logo at specific size 2023-08-07 17:58:45 +02:00
56ff01600f Improve consent handling
- hide client logo if there is no logo URI
- hide client information link if there is no client URI
- use buttons instead of a checkbox for consent
- use Markdown for messages
2023-08-07 17:54:54 +02:00
73735d47b6 Release 0.3.0 2023-08-07 15:19:17 +02:00
44e18ca3a5 Implement consent management
The primary change in this commit is the introduction of consent management.

A few minor improvements have been made:

- move common header to ui/templates/base.gohtml
- add an I18NService to unify localization
- add a handlers.getLocalizer function
- fix translation extraction and merging in Makefile
- add a new AuthMiddleware to centralize client certificate authentication
- move client certificate handling to internal/handlers/security.go
- improver error handling, allow localization of HTTP error messages
2023-08-07 15:15:45 +02:00
679dcb27ce Adapt to Hydra 2.x
- use new SDK package
- add session to transport user information from login to consent
2023-08-03 23:51:57 +02:00
cdb7257f7e Release 0.2.1 2023-08-03 10:47:36 +02:00
e2de4243a9 Enforce email address selection
This commit makes sure that an email address is selected when the user
presents a client certificate with multiple email addresses.
2023-08-03 10:45:21 +02:00
55530d23e4 Improve login page
- improve formatting of login page
- improve german translation of message that is shown if a certificate with multiple
  email addresses is used
2023-08-03 10:43:37 +02:00
962dd30c6a Fix golangci-lint config 2023-07-29 22:00:53 +02:00
88770be967 Release 0.2.0 2023-07-29 21:56:52 +02:00
79ab816489 Implement rendering of authorization server errors 2023-07-29 21:56:19 +02:00
63e3333c4d Rename module to match Git repository URL 2023-07-29 21:20:05 +02:00
cb7a3a8fa5 Re-order configuration precedence 2023-07-29 21:19:37 +02:00
a0a86f1980 Improve startServer function
- reorder parameters to match other functions
- move context.Background call into function
2023-07-29 21:19:20 +02:00
f3be6959ab Extract configureAdminClient function 2023-07-29 21:19:20 +02:00
4618ebfe10 Fix golangci-lint warning 2023-07-29 21:19:20 +02:00
3f76ff4d48 Run deb-systemd-helper in postinst 2023-07-29 21:19:15 +02:00
ef05d12fbb Update dependencies 2023-07-29 20:32:46 +02:00
26bfcc225e Improve logging
- switch to structured logging
- use JSON formatter
- support log level and formatter configuration
2023-07-29 20:32:02 +02:00
d23290b13b Move default configuration 2023-07-29 19:47:51 +02:00
c727bc39d7 Minor documentation and code improvements
- fix name of certificate in README
- avoid unneeded variable declaration in internal/services/i18n.go
2023-07-29 17:49:55 +02:00
9821d34939 Improve documentation and defaults
- recommend `mkcert` to generate certificates for local development
- change default configuration to use files recommended in README.md
- separate server name and bind address to allow binding to a local address
  but publish a different public name
2023-07-24 21:32:28 +02:00
ab2e3c33b5 Implement logout-successful handler 2023-07-24 21:09:35 +02:00
dd2ef9aa9e Fix conf parameter name 2023-07-24 20:16:53 +02:00
ff8ec8a8c5 Release 0.1.2
- fix path to cacert-idp binary
2023-07-24 19:43:43 +02:00
8824e6a452 Release 0.1.0
Hotfix for systemd service unit
2023-07-24 19:18:50 +02:00
a2f944dd9f Release 0.1.0 2023-07-24 18:11:13 +02:00
d74503165e Add build info output at application start 2023-07-24 18:11:13 +02:00
4e9042ef55 Merge pull request 'improve-for-first-release' (#1) from improve-for-first-release into main
Reviewed-on: #1
2023-07-24 16:00:41 +00:00
fe1914fd89 Move Markdown parsing to i18n service 2023-07-24 17:59:18 +02:00
b0daaf956f Add handling of invalid login challenge 2023-07-24 17:58:55 +02:00
0b59ad9fd4 Add packaging configuration
- add gorelease config
- add commented example configuration
- add service file and postinst script
- rename cmd/idp.go to cmd/idp/main.go
2023-07-24 17:55:41 +02:00
16a3dbedc8 Small IDP refactoring
- move internal code to internal directory
- add translations for texts on missing email in client certificate page
- add error handling for missing login_challenge request parameter
- add Markdown support via goldmark
- use https:// URLs in Apache license headers
2023-07-18 20:37:04 +02:00
9fad7ef3a6 Embed translation bundle into binary 2023-05-15 16:47:37 +02:00
2c82ccb324 Fix linter warnings, modernize code 2023-05-13 13:27:19 +02:00
e828b30b21 Add linting support
- add lint target in Makefile
- add golangci-lint configuration
2023-05-13 10:16:49 +02:00
796f8cf16d Add Apache License 2.0 text 2023-05-13 10:16:00 +02:00
bda6cf39c3 Update dependencies
- update to Go 1.19
- update dependencies in go.mod/go.sum
2023-05-13 10:15:22 +02:00