Commit Graph

49 Commits

Author SHA1 Message Date
Henning Perl 219a7c068f
feat: add support for OIDC VC (#3575)
This adds initial support for issuing verifiable credentials
as specified in https://openid.net/specs/openid-connect-userinfo-vc-1_0.html.

Because the spec is still in draft, public identifiers are
suffixed with `draft_00`.
2023-08-04 10:57:36 +02:00
Henning Perl efd9ca7d56
chore: bump deps (#3560) 2023-07-04 10:21:51 +02:00
Arne Luenser f56e5fad74 fix: append /v2 to module path 2023-01-28 08:40:41 +01:00
Arne Luenser 488f930e4f fix: clean up unused code 2023-01-28 08:40:41 +01:00
Kevin Goslar d768cf6580
docs: standardize license headers (#3216) 2022-11-03 10:10:12 -05:00
aeneasr 4002224439 refactor(client): make OAuth2 Client IDs system-chosen and immutable
BREAKING CHANGE: To improve security and scalability (in particular sharding), OAuth 2.0 Client IDs can no longer be chosen but are always assigned a random generated UUID V4. OAuth 2.0 Clients created with custom IDs before the v2.0 release will continue working with their legacy Client ID in Ory Hydra v2.x.

Additionally, the `hydra create client` command no longer supports flag `--id` and flag `--callbacks` has been renamed to `--redirect-uris`.

Closes #2911
2022-09-07 08:10:31 +02:00
aeneasr bbe0406df6 feat: config hot reloading architecture 2022-09-07 08:10:31 +02:00
Bernat Mut González a5cc6eaea9 fix: fix unbatched select in flushInactiveTokens
chore: code review

chore: format

don't delete more tokens than expected.

correct test.

add nid in flush tokens.
2022-09-07 08:10:31 +02:00
Grant Zvolsky c56b9585ec fix: mysql slice delete
- Add a workaround for [mysql slice delete](https://github.com/gobuffalo/pop/issues/699)
- Optimize logout verification (save 1 db rountrip)
- Update a test to use StaticContextualizer & revert CleanAndMigrate workaround
- Ensure a Client generated with faker satisfies the DB schema
- Remove unused argument from HandleConsentRequest
2022-09-07 08:10:31 +02:00
Grant Zvolsky 8e961d0eb3 code review 2022-09-07 08:10:31 +02:00
Grant Zvolsky 8eec85d35c code review: make sure CreateClient doesn't use provided ID 2022-09-07 08:10:31 +02:00
Grant Zvolsky 3a50926a69 test: test client update and double delete 2022-09-07 08:10:31 +02:00
Grant Zvolsky 8a091750bf test: implement network test structure for clients 2022-09-07 08:10:31 +02:00
Grant Zvolsky b7fc2bff53 feat: implement NID 2022-09-07 08:10:31 +02:00
Grant Zvolský 697813e185 refactor: generated UUID variant & version test (#2793)
Closes #2792
2022-09-07 08:10:31 +02:00
pike1212 ea6fdfd631
feat: add owner/name filter to list clients (#2637)
Closes #1485

Co-authored-by: aeneasr <3372410+aeneasr@users.noreply.github.com>
2021-08-02 17:00:42 +02:00
Patrik 7662917015
fix: client update breaks primary key (#2150)
Closes #2148
2020-10-29 15:06:45 +01: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 b36073af48
fix: bump deps to patch CVE-2020-15223 (#2067)
BREAKING CHANGES: As part of this patch, a few things have changed in a breaking fashion:

- OAuth2 Redirection URL error parameters `error_hint`, `error_debug` have been deprecated and now part of `error_description`. The parameters are still included for compatibility reasons but will be removed in a future release.
- OAuth2 Error `revocation_client_mismatch` was not standardized and has been removed. Instead, you will now receive `unauthorized_client` with a description explaning why the flow failed.
2020-09-29 10:01:13 +02:00
hackerman 5097805473
fix: bump pop to v5.2 (#1922)
Closes #1892
2020-06-22 16:22:40 +02:00
Daniel Jiménez fe8d77f4a4
feat: support jwt signing alg other than RS256 (#1889)
Closes #1817

Add new field TokenEndpointAuthSigningAlgorithm for Client struct which by default will be returned as RS256 from the "getter" function GetTokenEndpointAuthSigningAlgorithm unless a defined value is set in client payload when performing a request to the Create OAuth 2.0 client endpoint. This of course implies a migration to be applied to the hydra_cient table to include this new field.
2020-06-09 09:24:45 +02:00
hackerman 7ab715402b
refactor(client): Reduce SQL boilerplate code (#1758)
Part of #1730
2020-03-15 00:34:18 +01:00
aeneasr f1c926bd72 fix: Resolve linter complaints 2020-02-03 14:58:00 +01:00
DennisPattmann5012 b0bf43f380 client: Remove merge client during update in memory (#1705) 2020-01-23 16:09:12 +01:00
aeneasr 9f22545ea0
clients: Ensure order of paginated results
Closes #1554
2019-09-18 19:10:30 +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
Kevin Minehart f1ee77c0ba all: Add pagination headers to list results (#1358)
Closes #1047

Signed-off-by: Kevin Minehart <kmineh0151@gmail.com>
2019-04-15 16:26:50 +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
hackerman 24a40a096a
client: Add created/updated at fields (#1207)
Closes #1120

Signed-off-by: aeneasr <aeneas@ory.sh>
2018-12-07 14:55:01 +01:00
hackerman 4a8cf84f15
cmd: Add ability to specify consent and login lifespan (#1155)
Closes #1057
2018-11-03 21:15:59 +01:00
hackerman 65b7406abe
Move dependencies to ory/x (#1095)
Signed-off-by: aeneasr <aeneas@ory.sh>
2018-10-23 06:59:31 -07:00
Prateek Malhotra c525bd0fa5 client: fix test to pass non-nil context
Signed-off-by: Prateek Malhotra <someone1@gmail.com>
2018-09-23 12:01:01 +02:00
Amir Aslaminejad b5c396892b client: update stores, migrations and their associated tests to accept and propagate context
Signed-off-by: Amir Aslaminejad <aslaminejad@gmail.com>
2018-09-18 09:48:55 +02:00
hackerman a36d0af611
oauth2: Enable client specific CORS settings (#1009)
Field `allowed_cors_origins` was added to OAuth 2.0 Clients. It enables
CORS for the whitelisted URLS for paths which clients interact with,
such as /oauth2/token.

Closes #975

Signed-off-by: arekkas <aeneas@ory.am>
2018-08-26 14:28:05 +02:00
arekkas a8b9b022d9 client: Deprecate field `id`, now only `client_id` is to be used
Signed-off-by: arekkas <aeneas@ory.am>
2018-07-23 17:10:30 +02:00
arekkas 8f7180696d client: Deprecate `public` flag
The `public` flag has been deprecated in favor of setting `token_endpoint_auth_method=none`.

Closes #938

Signed-off-by: arekkas <aeneas@ory.am>
2018-07-22 13:17:18 +02:00
Aeneas ad5e8bc9c3
client: Fix sql migration step for oidc (#919)
A bug was introduced in beta.5 which caused the SQL migrations to fail if data existed in the database already. This patch resolves that and adds test cases for the migration steps by adding data after each migration.

Closes #918

Signed-off-by: arekkas <aeneas@ory.am>
2018-07-11 16:09:12 +02:00
arekkas bc0b54c545 oauth2: Implements userinfo response signing 2018-06-24 17:24:12 +02:00
arekkas a689cb07ca client: Improves and DRYies validation in the handler
Closes #909
2018-06-24 17:24:12 +02:00
arekkas 259d63a4de oauth2: Adds private_key_jwt authentication method 2018-06-24 17:24:12 +02:00
arekkas bfc9d09f6d client: Adds sector identifier URL 2018-06-24 17:24:12 +02:00
zepatrik 56aa5d267f client: Introduces client_secret_expires_at to client metadata (#870)
This patch introduces the `client_secret_expires_at` field without any functionality but to comply with the IETF spec.

Closes #778
2018-05-25 12:21:54 +02:00
Aeneas 366ed57d9c
all: Updates license headers (#793) 2018-03-08 10:27:18 +01:00
Aeneas 02b37086fa
client: Introduces pagination to client management (#774)
Previously, all clients were returned by `GET /clients`. To mitigate
DoS attacks against large databases, pagination has been introduced.

Closes #739
2018-02-09 12:21:11 +01:00
Aeneas dcbd6d8fcb
Add license header to all source files (#644)
Closes #643
2017-11-06 13:01:53 +01:00
arekkas 6aa2178bd8 tests: run database tests in parallel
Closes #617
2017-10-25 22:49:53 +02:00
Aeneas b40e87906c all: improve test exports (#521) 2017-06-15 00:12:42 +02:00
Aeneas c65ae77c7d all: export test helpers (#518) 2017-06-14 13:01:23 +02:00
Aeneas e6920d3029 client: export tests (#510) 2017-06-12 23:41:12 +02:00