in source/clicklogger/src/main/java/com/clicklogs/Handlers/APIGatewayAuthorizerHandler.java [13:41]
public AuthPolicy handleRequest(TokenAuthorizerContext input, Context context) {
System.out.println("Reached lambda authorizer");
String token = input.getAuthorizationToken();
System.out.println("received token - " + token);
String env_auth_tokens = System.getenv("AUTH_TOKENS");
String[] env_token_split = env_auth_tokens.split(";");
Boolean is_valid_token = Arrays.asList(env_token_split).contains(token);
String principalId = "xxxx";
if(!is_valid_token){
throw new RuntimeException("Unauthorized");
}
String methodArn = input.getMethodArn();
String[] arnPartials = methodArn.split(":");
String region = arnPartials[3];
String awsAccountId = arnPartials[4];
String[] apiGatewayArnPartials = arnPartials[5].split("/");
String restApiId = apiGatewayArnPartials[0];
String stage = apiGatewayArnPartials[1];
System.out.println("methodArn - " + methodArn + " restApiId - " + restApiId);
System.out.println("Reached lambda authorizer. Returning allow all policy");
return new AuthPolicy(principalId, AuthPolicy.PolicyDocument.getAllowAllPolicy(region, awsAccountId, restApiId, stage));
}