Skip to content

Commit

Permalink
Adds config support for TokenRelayFilterFunctions.tokenRelay()
Browse files Browse the repository at this point in the history
Fixes gh-3176
  • Loading branch information
spencergibb committed Dec 11, 2023
1 parent 6163200 commit 9a63aaf
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,12 @@

package org.springframework.cloud.gateway.server.mvc.filter;

import java.lang.reflect.Method;
import java.security.Principal;
import java.util.Arrays;
import java.util.Collection;

import org.springframework.cloud.gateway.server.mvc.common.Shortcut;
import org.springframework.security.oauth2.client.OAuth2AuthorizeRequest;
import org.springframework.security.oauth2.client.OAuth2AuthorizedClient;
import org.springframework.security.oauth2.client.OAuth2AuthorizedClientManager;
Expand All @@ -34,6 +38,7 @@ public abstract class TokenRelayFilterFunctions {
private TokenRelayFilterFunctions() {
}

@Shortcut
public static HandlerFilterFunction<ServerResponse, ServerResponse> tokenRelay() {
return (request, next) -> {
Principal principle = request.servletRequest().getUserPrincipal();
Expand All @@ -53,4 +58,13 @@ public static HandlerFilterFunction<ServerResponse, ServerResponse> tokenRelay()
};
}

class FilterSupplier implements org.springframework.cloud.gateway.server.mvc.filter.FilterSupplier {

@Override
public Collection<Method> get() {
return Arrays.asList(TokenRelayFilterFunctions.class.getMethods());
}

}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
org.springframework.cloud.gateway.server.mvc.filter.FilterSupplier=\
org.springframework.cloud.gateway.server.mvc.filter.Bucket4jFilterFunctions.FilterSupplier,\
org.springframework.cloud.gateway.server.mvc.filter.CircuitBreakerFilterFunctions.FilterSupplier,\
org.springframework.cloud.gateway.server.mvc.filter.TokenRelayFilterFunctions.FilterSupplier,\
org.springframework.cloud.gateway.server.mvc.filter.FilterFunctions.FilterSupplier

org.springframework.cloud.gateway.server.mvc.handler.HandlerSupplier=\
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ spring.cloud.gateway.mvc:
- Path=/anything/listRoute2
filters:
- HttpbinUriResolver=
- TokenRelay
- AddRequestHeader=X-Test,listRoute2
- id: listRoute3
uri: lb://httpbin
Expand Down

0 comments on commit 9a63aaf

Please sign in to comment.