zitadel-oidc/pkg/oidc
Tim Möhlmann ad79802968
feat: extend token exchange response (#567)
* feat: extend token exchange response

This change adds fields to the token exchange and token claims types.

The `act` claim has been added to describe the actor in case of impersonation or delegation. An actor can be nested in case an obtained token is used as actor token to obtain impersonation or delegation. This allows creating a chain of actors. See [RFC 8693, section 4.1](https://www.rfc-editor.org/rfc/rfc8693#name-act-actor-claim).

The `id_token` field has been added to the Token Exchange response  so an ID Token can be returned along with an access token. This is not specified in RFC 8693, but it allows us be consistent with OpenID responses when the scope `openid` is set, while the requested token type may remain access token.

* allow jwt profile for token exchange client

* add invalid target error
2024-03-13 16:26:09 +02:00
..
grants chore(linting): apply gofumpt & goimports to all .go files (#225) 2022-10-05 09:33:10 +02:00
regression_data fix: unmarshalling of scopes in access token (#327) 2023-03-15 14:44:49 +01:00
authorization.go feat(op): Add response_mode: form_post (#551) 2024-03-05 15:04:43 +02:00
authorization_test.go feat: go 1.22 and slog migration (#557) 2024-02-28 10:44:14 +01:00
code_challenge.go upgrade this module to v3 2023-03-20 13:38:21 +02:00
device_authorization.go implement RFC 8628: Device authorization grant 2023-03-01 08:59:17 +01:00
discovery.go fix: don't error on invalid i18n tags in discovery (#407) 2023-06-09 16:31:44 +02:00
error.go feat: extend token exchange response (#567) 2024-03-13 16:26:09 +02:00
error_test.go feat: go 1.22 and slog migration (#557) 2024-02-28 10:44:14 +01:00
introspection.go refactor: use struct types for claim related types (#283) 2023-03-10 16:31:22 +02:00
introspection_test.go fix: do not modify userInfo when marshaling 2023-03-28 12:58:34 +03:00
jwt_profile.go chore(linting): apply gofumpt & goimports to all .go files (#225) 2022-10-05 09:33:10 +02:00
keyset.go Merge branch 'next' into next-main 2023-10-12 16:07:49 +03:00
keyset_test.go chore(deps): migrage jose to go-jose/v3 (#433) 2023-09-01 14:33:16 +03:00
regression_assert_test.go fix: do not modify userInfo when marshaling 2023-03-28 12:58:34 +03:00
regression_create_test.go refactor: use struct types for claim related types (#283) 2023-03-10 16:31:22 +02:00
regression_test.go chore: replace interface{} with any (#448) 2023-10-12 12:41:04 +03:00
revocation.go feat: Token Revocation, Request Object and OP Certification (#130) 2021-11-02 13:21:35 +01:00
session.go chore(linting): apply gofumpt & goimports to all .go files (#225) 2022-10-05 09:33:10 +02:00
token.go feat: extend token exchange response (#567) 2024-03-13 16:26:09 +02:00
token_request.go feat: extend token exchange response (#567) 2024-03-13 16:26:09 +02:00
token_test.go Merge branch 'next' into next-main 2023-10-12 16:07:49 +03:00
types.go fix(oidc): ignore unknown language tag in userinfo unmarshal (#505) 2023-12-22 10:25:58 +01:00
types_test.go fix(oidc): ignore unknown language tag in userinfo unmarshal (#505) 2023-12-22 10:25:58 +01:00
userinfo.go feat: generic Userinfo and Introspect functions (#389) 2023-05-05 12:36:37 +00:00
userinfo_test.go fix: do not modify userInfo when marshaling 2023-03-28 12:58:34 +03:00
util.go fix: do not modify userInfo when marshaling 2023-03-28 12:58:34 +03:00
util_test.go refactor: use struct types for claim related types (#283) 2023-03-10 16:31:22 +02:00
verifier.go fix: allow expired ID token hint to end sessions (#522) 2024-01-19 11:30:51 +01:00
verifier_parse_test.go feat: merge the verifier types (#336) 2023-03-22 19:18:41 +02:00
verifier_test.go feat: merge the verifier types (#336) 2023-03-22 19:18:41 +02:00