ContainerImage.Pinniped/internal/testutil
Ryan Richard 79ca1d7fb0 Perform an upstream refresh during downstream refresh for OIDC upstreams
- If the upstream refresh fails, then fail the downstream refresh
- If the upstream refresh returns an ID token, then validate it (we
  use its claims in the future, but not in this commit)
- If the upstream refresh returns a new refresh token, then save it
  into the user's session in storage
- Pass the provider cache into the token handler so it can use the
  cached providers to perform upstream refreshes
- Handle unexpected errors in the token handler where the user's session
  does not contain the expected data. These should not be possible
  in practice unless someone is manually editing the storage, but
  handle them anyway just to be safe.
- Refactor to share the refresh code between the CLI and the token
  endpoint by moving it into the UpstreamOIDCIdentityProviderI
  interface, since the token endpoint needed it to be part of that
  interface anyway
2021-10-13 12:31:20 -07:00
..
fakekubeapi Use new 'go.pinniped.dev/generated/latest' package. 2021-02-16 13:00:08 -06:00
oidctestutil Perform an upstream refresh during downstream refresh for OIDC upstreams 2021-10-13 12:31:20 -07:00
testlogger Add a bit nicer assertion helper in testutil/testlogger. 2021-03-05 15:49:45 -06:00
assertions.go Add custom response_mode=form_post HTML template. 2021-07-09 12:08:43 -05:00
certs.go certauthority.go: Refactor issuing client versus server certs 2021-03-12 16:09:37 -08:00
crypto.go Cleanup code via TODOs accumulated during token endpoint work 2020-12-04 10:09:42 -05:00
delete.go Improve the selectors of Deployments and Services 2021-09-14 13:35:10 -07:00
doc.go Allow multiple Pinnipeds to work on same cluster 2021-02-02 15:18:41 -08:00
ioutil.go WIP: add supervisor upstream flags to `pinniped get kubeconfig` 2021-04-30 14:28:03 -07:00
kube_server_compatibility.go Tests use CertificatesV1 when available, otherwise use CertificatesV1beta1 2021-09-20 17:14:58 -07:00
observable_with_informer_option.go Add Go vanity import paths. 2020-09-18 14:56:24 -05:00
observable_with_initial_event_option.go kubecertagent: use initial event for when key can't be found 2020-09-24 16:54:20 -04:00
psession.go Require refresh tokens for upstream OIDC and save more session data 2021-10-08 15:48:21 -07:00
roundtrip.go internal/groupsuffix: mutate TokenCredentialRequest's Authenticator 2021-02-10 15:53:44 -05:00
tempdir.go Tweak some stdlib usage so we compile under Go 1.14. 2020-11-30 10:11:41 -06:00
tempdir_go1.14.go Tweak some stdlib usage so we compile under Go 1.14. 2020-11-30 10:11:41 -06:00
tlsserver.go Move require.NoError() to t.Cleanup() 2021-05-24 14:24:09 -07:00
transcript_logger.go Save 2 lines by using inline-style comments for Copyright 2020-09-16 10:35:19 -04:00