ContainerImage.Pinniped/internal/oidc
Ryan Richard e0ecdc004b Allow dynamic clients to be used in downstream OIDC flows
This is only a first commit towards making this feature work.
- Hook dynamic clients into fosite by returning them from the storage
  interface (after finding and validating them)
- In the auth endpoint, prevent the use of the username and password
  headers for dynamic clients to force them to use the browser-based
  login flows for all the upstream types
- Add happy path integration tests in supervisor_login_test.go
- Add lots of comments (and some small refactors) in
  supervisor_login_test.go to make it much easier to understand
- Add lots of unit tests for the auth endpoint regarding dynamic clients
  (more unit tests to be added for other endpoints in follow-up commits)
- Enhance crud.go to make lifetime=0 mean never garbage collect,
  since we want client secret storage Secrets to last forever
- Move the OIDCClient validation code to a package where it can be
  shared between the controller and the fosite storage interface
- Make shared test helpers for tests that need to create OIDC client
  secret storage Secrets
- Create a public const for "pinniped-cli" now that we are using that
  string in several places in the production code
2022-07-14 09:51:11 -07:00
..
auth Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
callback Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
clientregistry Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
csrftoken Add some trivial unit tests to internal/oidc/csrftoken. 2021-02-02 09:38:17 -06:00
discovery add a code comment 2022-04-19 11:35:46 -07:00
downstreamsession Handle refresh requests without groups scope 2022-06-22 08:21:16 -07:00
dynamiccodec internal/oidc/dynamiccodec: loosen test to reduce flakes 2020-12-11 11:49:27 -05:00
idpdiscovery Advertise browser_authcode flow in ldap idp discovery 2022-04-25 14:54:21 -07:00
jwks WIP: start to wire signing key into token handler 2020-12-03 15:37:25 -05:00
login Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
oidcclientvalidator Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
provider Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
token Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
dynamic_oauth2_hmac_strategy_test.go Add custom prefix to downstream access and refresh tokens and authcodes 2022-04-13 10:13:27 -07:00
dynamic_oauth2_hmac_strategy.go Add custom prefix to downstream access and refresh tokens and authcodes 2022-04-13 10:13:27 -07:00
dynamic_open_id_connect_ecdsa_strategy_test.go Implement upstream LDAP support in auth_handler.go 2021-04-08 17:28:01 -07:00
dynamic_open_id_connect_ecdsa_strategy.go Implement upstream LDAP support in auth_handler.go 2021-04-08 17:28:01 -07:00
kube_storage.go Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
nullstorage.go Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00
oidc.go Merge branch 'dynamic_clients' into require-groups-scope 2022-06-22 14:27:06 -07:00
token_exchange.go Allow dynamic clients to be used in downstream OIDC flows 2022-07-14 09:51:11 -07:00