32 Commits

Author SHA1 Message Date
38a11deffa fix: only use transaction connection in a transaction (#1598)
* fix: only use transaction connection in a transaction

* test: fix webhook tests
2024-08-28 11:56:09 +02:00
92a8743c14 feat: update DTO with username field (#1583) 2024-08-23 11:12:46 +02:00
601ffaae92 Introduce Flowpilot - integration (#1532)
This pull request introduces the new Flowpilot system along with several new features and various improvements. The key enhancements include configurable authorization, registration, and profile flows, as well as the ability to enable and disable user identifiers (e.g., email addresses and usernames) and login methods.

---------

Co-authored-by: Frederic Jahn <frederic.jahn@hanko.io>
Co-authored-by: Lennart Fleischmann <lennart.fleischmann@hanko.io>
Co-authored-by: lfleischmann <67686424+lfleischmann@users.noreply.github.com>
Co-authored-by: merlindru <hello@merlindru.com>
2024-08-06 16:07:29 +02:00
5ceb6bb030 fix(jwt): add updated email on user create (#1416)
* add check of email object is nil to DTO transformation - prevents runtime nil exception

* fetch updated emails for user before creating session token

Co-authored-by: Stefan Jacobi <stefan.jacobi@adesso.de>
2024-04-03 16:15:25 +02:00
8ab246dc12 feat(jwt): add email claim to session JWT (#1404)
* add email claim which contains email address, is_verified and is_primary values
* cleanup some unused stuff

Closes: #1388

Co-authored-by: Stefan Jacobi <stefan.jacobi@adesso.de>
2024-03-25 15:25:02 +01:00
c9994bdc3a fix(review): fix review findings
* admin api: make email primary when user has no emails
* utils: move get updated user and webhook trigger to utils to reduce duplicated code
* events: remove unused user and email event - Check is replaced with string variant
* remove unused dtos
* fix tests after changes
* webhook tests: switch to test.Suite instead of TestPersister -> added deprecation annotation to test.NewPersister
* Email Verification: Fix trigger of webhook when email verification is enabled and a email is created but not validated

Closes: #692, #1051
2024-01-25 13:20:56 +01:00
917e66660c fix(webhooks): add removed ID to CreateUserResponse
Closes #692
2024-01-17 15:53:56 +01:00
3cafb66754 feat(webhooks): add tests and fix review issues
* add tests for webhooks
* improve error handling when context does not contain webhook manager
* add logging to worker and fix nesting error overwrite
* remove enable and disable methods in favor for update method
* move data in jwt from subject claim to custom `data` claim
* add event in jwt to custom `evt` claim
* change webhook trigger to only fire once per hook (was once per subscribed event in hook before)

Closes #692
2024-01-17 14:19:10 +01:00
45cbd74314 feat(webhooks): add webhooks
* add webhooks settings to config
* add webhooks entity for database
* add endpoints for webhooks
* add worker for asynchronously executing webhooks
* add trigger for events to user change/create/delete users/emails

Closes #692
2024-01-12 16:04:31 +01:00
fe034c1fcc feat: add configuration to disable user registration 2023-08-07 17:43:15 +02:00
7ae10a4c4d fix: don't set cookie when jwt is set in header 2023-07-26 11:45:11 +02:00
bfd073013a fix: create audit logs with transaction where useful 2023-07-04 10:48:59 +02:00
b59709d369 refactor: use echo.HTTPError instead of redundant own type. This way the prometheus mw shoul register the correct error codes. 2023-06-19 14:48:45 +02:00
fdf665eabb Session events (#725)
* feat(frontend-sdk): introduce events
* feat(elements): change hanko-elements register function
2023-04-28 14:14:47 +02:00
12f6ad3f42 fix:m erge conflicts 2023-03-15 17:33:13 +01:00
3cd212a1c5 feat: user deletion (#662) 2023-03-15 13:51:23 +01:00
500cc4e064 fix: remove manual settings of allowed headers 2023-03-09 12:00:13 +01:00
a820ccd3bb try: comment out Acces-Control-Expose-Header 2023-03-09 11:53:46 +01:00
e7a5c2df27 Feat: Add logout method to sdk (#566)
* Add endpoint to invalidate HTTP-Only cookie from the backend

* Add methods to the UserClient SDK for logout

* Remove session token fetch and add unit test for logout

* Update public router to use JWT middleware

* Add logout button to frontend. Route back to login page once logout is successful.

* Add a logout failur event

* Update logout logic in SDK

* Remove unneeded endpoint from main.go

* Update logoutlink reference

* Fix request path; undo change in package order

* Update common.css to incldue hanko-logout

* feat(fronend-sdk): remove cookie during cross-domain operations

* fix(frontend-sdk): No unauthorized error during logout, when the user is already logged out

* feat(backend): Create an audit log entry when the user logs off

* chore(frontend-sdk): re-generate jsdoc

* fix: Adjust logout response codes and the corresponding frontend sdk error handling

* chore(frontend-sdk): re-generate jsdoc

* feat: add logout endpoint specification to the docs

* Fix broken unit test

* Remove logout button from elements

* Add event listener on frontend to call the logout method from SDK

* Rollback changes to SecuredContent on e2e tests

* Update logout test on user

* Update quickstart/public/assets/css/common.css

Co-authored-by: bjoern-m <56024829+bjoern-m@users.noreply.github.com>

---------

Co-authored-by: Björn Müller <bjoern.mueller@hanko.io>
Co-authored-by: bjoern-m <56024829+bjoern-m@users.noreply.github.com>
2023-03-03 10:48:33 +01:00
603c5e7386 fix: add same site attribute to workaround cookie 2023-02-08 09:21:13 +01:00
ca62cf421f feat: introduce hanko profile element and related api changes (#495)
* feat: introduce hanko profile element and related api changes
2023-01-25 10:55:23 +01:00
b73067b07e chore: rename audit log client 2022-09-27 09:51:13 +02:00
f02bccb685 feat: add audit logs 2022-08-18 16:53:34 +02:00
067ca8d755 feat: handle auth-token header and create cross domain cookies (#135)
feat: handle auth-token header and create cross domain cookies
2022-07-28 14:35:44 +02:00
de2ad1a7fd Feat handle allowed credentials and transports (#131)
* feat(backend): handle allowed credentials and transports 
* feat(hanko-js): conditionally trigger webauthn on email login
2022-07-19 11:51:17 +02:00
df4cf27d20 Merge pull request #104 from teamhanko/make-email-case-insensitive
use always lowercase emails
2022-07-01 12:03:28 +02:00
ca71d641bf fix: use always lowercase emails 2022-06-29 17:33:29 +02:00
c4a36ca989 chore: add more context to some http errors 2022-06-27 14:49:09 +02:00
4de446475f fix: fix module path 2022-06-21 12:36:11 +02:00
3e46664406 feat: improve error logging 2022-06-15 17:24:54 +02:00
c67a27358b fix: get user object only for himself 2022-06-13 16:06:51 +02:00
80048acd8f refactor: move backend files to its own directory 2022-06-09 14:36:00 +02:00