zitadel-oidc/pkg/op
Emil Bektimirov 8e298791d7
feat: Token Exchange (RFC 8693) (#255)
This change implements OAuth2 Token Exchange in OP according to RFC 8693 (and client code)

Some implementation details:

- OP parses and verifies subject/actor tokens natively if they were issued by OP
- Third-party tokens verification is also possible by implementing additional storage interface
- Token exchange can issue only OP's native tokens (id_token, access_token and refresh_token) with static issuer
2023-02-19 15:57:46 +02:00
..
mock feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
applicationtype_enumer.go chore: add enumer for iota-defined types (#197) 2022-07-25 20:06:49 +02:00
auth_request.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
auth_request_test.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
client.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
config.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
config_test.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
context.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
context_test.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
crypto.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
discovery.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
discovery_test.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
endpoint.go chore(linting): apply gofumpt & goimports to all .go files (#225) 2022-10-05 09:33:10 +02:00
endpoint_test.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
error.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
keys.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
keys_test.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
op.go feat: Token Exchange (RFC 8693) (#255) 2023-02-19 15:57:46 +02:00
probes.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
session.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
signer.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
storage.go feat: Token Exchange (RFC 8693) (#255) 2023-02-19 15:57:46 +02:00
token.go feat: Token Exchange (RFC 8693) (#255) 2023-02-19 15:57:46 +02:00
token_client_credentials.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
token_code.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
token_exchange.go feat: Token Exchange (RFC 8693) (#255) 2023-02-19 15:57:46 +02:00
token_intospection.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
token_jwt_profile.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
token_refresh.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
token_request.go feat: Token Exchange (RFC 8693) (#255) 2023-02-19 15:57:46 +02:00
token_revocation.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
userinfo.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
verifier_access_token.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
verifier_id_token_hint.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00
verifier_jwt_profile.go feat(op): dynamic issuer depending on request / host (#278) 2023-02-09 17:10:22 +01:00