Commit graph

18 commits

Author SHA1 Message Date
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
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
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
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
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
962dd30c6a Fix golangci-lint config 2023-07-29 22:00:53 +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
4618ebfe10 Fix golangci-lint warning 2023-07-29 21:19:20 +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
ab2e3c33b5 Implement logout-successful handler 2023-07-24 21:09:35 +02:00
fe1914fd89 Move Markdown parsing to i18n service 2023-07-24 17:59:18 +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