Commit Graph

38 Commits

Author SHA1 Message Date
hackerman 7311a794c7
chore: reduce registry code bloat and improve DI (#3794) 2024-07-16 11:32:45 +02:00
Henning Perl 88b0b7cfdf
feat: allow injecting extra fosite strategies (#3646) 2023-10-17 10:43:54 +02:00
Henning Perl c004fee694
feat: propagate logout to identity provider (#3596)
* feat: propagate logout to identity provider

This commit improves the integration between Hydra and Kratos when logging
out the user.

This adds a new configuration key for configuring a Kratos admin URL.
Additionally, Kratos can send a session ID when accepting a login request.
If a session ID was specified and a Kratos admin URL was configured,
Hydra will disable the corresponding Kratos session through the admin API
if a frontchannel or backchannel logout was triggered.

* fix: add special case for MySQL

* chore: update sdk

* chore: consistent naming

* fix: cleanup persister
2023-08-14 12:39:45 +02:00
Arne Luenser 8eed306800
feat: allow Go migrations (#3602) 2023-08-10 14:29:05 +02:00
Arne Luenser 8900cbb770
feat: allow additional SQL migrations (#3587) 2023-08-03 12:28:58 +02:00
Henning Perl 44ed0ac895
feat: add event tracing (#3546) 2023-06-19 13:22:54 +02:00
Patrik a8ecf807b2
feat: hot-reload Oauth2 CORS settings (#3537) 2023-06-13 13:45:13 +02:00
Henning Perl f29fe3af97
feat: stateless authorization code flow (#3515)
This patch optimizes the performance of authorization code grant flows by minimizing the number of database queries. We acheive this by storing the flow in an AEAD-encoded cookie and AEAD-encoded request parameters for the authentication and consent screens. 

BREAKING CHANGE:

* The client that is used as part of the authorization grant flow is stored in the AEAD-encoding. Therefore, running flows will not observe updates to the client after they were started.
* Because the login and consent challenge values now include the AEAD-encoded flow, their size increased to around 1kB for a flow without any metadata (and increases linearly with the amount of metadata). Please adjust your ingress / gateway accordingly.
2023-06-12 20:27:00 +02:00
Arne Luenser f56e5fad74 fix: append /v2 to module path 2023-01-28 08:40:41 +01:00
Kevin Goslar d768cf6580
docs: standardize license headers (#3216) 2022-11-03 10:10:12 -05:00
Grant Zvolsky 0752721dd8 refactor(client): rename SDK methods and introduce `/admin` prefix
BREAKING CHANGE: This release updates SDK services from `public` and `admin` to `v2`. Methods exposed at the admin interface are now prefixed with `admin` (e.g. `adminCreateOAuth2Client`). Administrative endpoints now have an `/admin` prefix (e.g. `POST /admin/clients`). Existing administrative endpoints will redirect to this new prefixed path for backwards compatibility.
2022-09-07 08:10:31 +02:00
aeneasr 7eb1d1c0ff feat: respect local DNS restrictions 2022-09-07 08:10:31 +02:00
aeneasr 6eee09cc72 fix: resolve merge conflicts 2022-09-07 08:10:31 +02:00
aeneasr 68cb7d511f fix: compile issues 2022-09-07 08:10:31 +02:00
aeneasr bbe0406df6 feat: config hot reloading architecture 2022-09-07 08:10:31 +02:00
Grant Zvolsky 8e961d0eb3 code review 2022-09-07 08:10:31 +02:00
Grant Zvolsky 00490cbbc5 code review: generate first NID randomly; add/update tests; fix db-diff 2022-09-07 08:10:31 +02:00
Grant Zvolsky b7fc2bff53 feat: implement NID 2022-09-07 08:10:31 +02:00
Ludovic Cleroux a383b5a655
fix: ping logic for SQL Registry (#3095)
Closes #2734
2022-05-18 08:46:00 +02:00
Mart Aarma 7578aa9f3a
feat: Hardware Security Module support (#2625)
This change introduces support for Hardware Security Modules, a physical computing device that safeguards and manages digital keys, performs encryption and decryption functions for digital signatures, strong authentication, and other cryptographic functions.

If enabled, the Hardware Security Module is used to look up any keys. If no key is found, the software module is used as a fallback for lookup. This allows you to use the HSM for privileged keys, and the software module to manage lifecycle keys (e.g. for Token Exchange).

For more information, please [read the guide](https://www.ory.sh/hydra/docs/next/guides/hsm-support).

Thank you to [aarmam](https://github.com/aarmam) for this great contribution!

Co-authored-by: aeneasr <3372410+aeneasr@users.noreply.github.com>
2022-01-11 16:33:22 +01:00
Vladimir Kalugin 858f2cf362
feat: support for urn:ietf:params:oauth:grant-type:jwt-bearer grant type RFC 7523 (#2384)
This change adds support for JSON Web Token (JWT) Profile for OAuth 2.0 Authorization Grants (RFC7523).
Users of Ory Hydra will be able to grant permission for OAuth 2.0 Client to act on behalf of some Resource Owner using JWT Bearer Assertions.

For more information about this feature, please head over to the documentation: https://www.ory.sh/hydra/docs/next/guides/oauth2-grant-type-jwt-bearer

Closes #2229

BREAKING CHANGES: Please notice that this change requires SQL migrations to be applied! As always, please make a backup before applying them!

Co-authored-by: aeneasr <3372410+aeneasr@users.noreply.github.com>
Co-authored-by: Jagoba Gascón <jagoba@arima.eu>
Co-authored-by: Gajewski Dmitriy <dmit8815@gmail.com>
2021-12-26 20:15:53 +02:00
Chris Mack 440e0b8242
fix: version info nil on version api endpoint (#2894) 2021-12-22 11:15:10 +01:00
seremenko-wish f588ec69d4
fix: prometheus URL label (#2503)
Fixes #2502
2021-05-19 19:48:14 +02:00
aeneasr 6fa591c849 feat: move to go 1.16 and static embed files 2021-03-08 17:24:00 +01:00
aeneasr 428df22c7f chore: clean up viper mentions 2020-12-02 13:37:05 +01:00
aeneasr 8fc3e2e3ce refactor: deprecate driver semantics 2020-12-02 13:37:05 +01:00
aeneasr fdf142cc7c feat: improve error stack trace wrapping 2020-11-17 17:25:54 +01:00
aeneasr 6b2ad6b77f style: format and cleanup 2020-10-20 14:55:49 +02:00
Patrik 56bce678cb refactor: use gobuffalo/pop for SQL abstraction (#2059)
This patch replaces the existing SQL and memory managers with a pop based persister. Existing SQL migrations are compatible as they have been migrated to the new SQL abstraction in version 1.7.x. As a goodie, ORY Hydra now supports SQLite for both in-memory as well as on-disk (useful for development and very small deployments) databases!

Closes #1730

Co-authored-by: aeneasr <aeneas@ory.sh>
Co-authored-by: hackerman <3372410+aeneasr@users.noreply.github.com>
2020-10-20 14:55:49 +02:00
hackerman 5097805473
fix: bump pop to v5.2 (#1922)
Closes #1892
2020-06-22 16:22:40 +02:00
aeneasr fdb3231e19 fix: resolve dependency issues and adopt logrusx logger 2020-05-28 14:35:37 +02:00
hackerman 94057d9400
refactor: move migrations to gobuffalo/fizz (#1775)
This patch deprecates the previous migration system (sql-migrate) in favor of gobuffalo/fizz. No functional changes have been made.

BREAKING CHANGES: Please run `hydra migrate sql` before applying this release.
2020-04-30 10:58:57 +02:00
Matt Drollette f60c724178 driver: don't log DSN (#1593) 2019-10-04 09:53:49 +03:00
hackerman 9243dc2490
vendor: Fix SQL-regression caused by go 1.12.7 (#1534) 2019-08-19 19:11:44 +02:00
hackerman bbeee653de
Implement OpenID Connect Front-/Backchannel logout (#1376)
Closes #1368 
Closes #1004 
Closes #834

Signed-off-by: aeneasr <aeneas@ory.sh>
2019-04-25 23:17:57 +02:00
hackerman 20aaa46eae
consent: Add ability to share data from login to consent request (#1353)
Closes #1003

Signed-off-by: aeneasr <aeneas@ory.sh>
2019-04-11 19:22:13 +02:00
hackerman 6a16b1ee05
driver: Initialize everything on start up (#1350)
Resolves issues with lazy loading. Closes #1349

Signed-off-by: aeneasr <aeneas@ory.sh>
2019-04-11 12:16:23 +02:00
hackerman 95a51deb31
Improve configuration and service management (#1314)
This patch significantly refactors internal configuration and service management with the goal of making configuration changes possible without service restarts. This patch prepares the possibility to configure ORY Hydra from a remote source (etcd, consul) and watch for changes. This patch also introduces the possibility to configure ORY Hydra from a configuration file on top of environment variables.

The following issues have been fixed as well:

- Key rotation of the system secret is now much simpler (closes #1316)
- Database connectivity parameters such as max_conns no longer cause issues with older postgres versions (closes #1327)
- Non-existing routes now return a JSON error instead of `text/plain` when `application/json` was requested (clsoes #1244)
- We now push tags latest, X, X.Y, X.Y.Z to docker hub (closes #1289)
- The quickstart guide no longer builds the source code but instead pulls latest tag (closes #1309)
- We moved to goreleaser and godownloader for release management (closes #1107)
- The quickstart Docker Compose files are now reusable (closes #1196)

The following issues are also resolved:

- Closes #1121 

Signed-off-by: aeneasr <aeneas@ory.sh>
2019-04-02 11:52:21 +02:00