pomerium/authorize
Kenneth Jenkins e8b489eb87
authorize: rework token substitution in headers (#4456)
Currently Pomerium replaces dynamic set_request_headers tokens
sequentially. As a result, if a replacement value itself contained a
supported "$pomerium" token, Pomerium may treat that as another
replacement, resulting in incorrect output.

This is unlikely to be a problem given the current set of dynamic
tokens, but if we continue to add additional tokens, this will likely
become more of a concern.

To forestall any issues, let's perform all replacements in one pass,
using the os.Expand() method. This does require a slight change to the
syntax, as tokens containing a '.' will need to be wrapped in curly
braces, e.g. ${pomerium.id_token}.

A literal dollar sign can be included by using $$ in the input.
2023-08-14 15:28:10 -07:00
..
evaluator authorize: rework token substitution in headers (#4456) 2023-08-14 15:28:10 -07:00
internal/store authorize: move sign out and jwks urls to route, update issuer for JWT (#4046) 2023-03-08 12:40:15 -07:00
access_tracker.go sets: convert set types to generics (#3519) 2022-07-29 12:32:17 -06:00
access_tracker_test.go databroker: add support for putting multiple records (#3291) 2022-04-26 16:41:38 -06:00
authorize.go config: support client certificate SAN match (#4453) 2023-08-11 13:27:12 -07:00
authorize_test.go log context (#2107) 2021-04-22 10:58:13 -04:00
check_response.go authorize: add "client-certificate-required" reason (#4389) 2023-07-25 10:03:51 -07:00
check_response_test.go authorize: add "client-certificate-required" reason (#4389) 2023-07-25 10:03:51 -07:00
databroker.go authorize: fix user caching (#3734) 2022-11-08 08:23:41 -07:00
databroker_test.go authorize: fix user caching (#3734) 2022-11-08 08:23:41 -07:00
grpc.go authorize: do not rely on Envoy client cert validation (#4438) 2023-08-03 10:45:55 -07:00
grpc_test.go authorize: do not rely on Envoy client cert validation (#4438) 2023-08-03 10:45:55 -07:00
log.go authorize: log id token claims separately from id token (#4394) 2023-07-26 11:45:10 -06:00
log_test.go authorize: log id token claims separately from id token (#4394) 2023-07-26 11:45:10 -06:00
state.go authenticate: fix authenticate_internal_service_url for all in one (#4003) 2023-02-22 10:42:27 -05:00