Skip to content

Commit

Permalink
feat(security): Add multiple security implementations and manage secu…
Browse files Browse the repository at this point in the history
…rity by plan

Closes gravitee-io/issues#379
  • Loading branch information
brasseld authored and NicolasGeraud committed Jan 9, 2017
1 parent f81dd38 commit f66f4ee
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 8 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -34,7 +34,7 @@
</parent>

<properties>
<gravitee-gateway-api.version>1.0.0</gravitee-gateway-api.version>
<gravitee-gateway-api.version>1.2.0-SNAPSHOT</gravitee-gateway-api.version>
<gravitee-policy-api.version>1.0.0</gravitee-policy-api.version>
<gravitee-repository-api.version>1.0.0</gravitee-repository-api.version>

Expand Down
12 changes: 5 additions & 7 deletions src/main/java/io/gravitee/policy/apikey/ApiKeyPolicy.java
Expand Up @@ -42,7 +42,9 @@ public class ApiKeyPolicy {

private static final Logger LOGGER = LoggerFactory.getLogger(ApiKeyPolicy.class);

final static String API_KEY_QUERY_PARAMETER = "api-key";
static final String API_KEY_QUERY_PARAMETER = "api-key";

static final String ATTR_API_KEY = ExecutionContext.ATTR_PREFIX + "api-key";

private final ApiKeyPolicyConfiguration apiKeyPolicyConfiguration;

Expand Down Expand Up @@ -72,13 +74,9 @@ public void onRequest(Request request, Response response, ExecutionContext execu

// Add data about api-key and subscription into the execution context
executionContext.setAttribute(ExecutionContext.ATTR_APPLICATION, apiKey.getApplication());
executionContext.setAttribute(ExecutionContext.ATTR_SUBSCRIPTION, apiKey.getSubscription());
executionContext.setAttribute(ExecutionContext.ATTR_USER_ID, apiKey.getSubscription());
executionContext.setAttribute(ExecutionContext.ATTR_PLAN, apiKey.getPlan());
executionContext.setAttribute(ExecutionContext.ATTR_API_KEY, apiKey.getKey());

request.metrics().setSubscription(apiKey.getSubscription());
request.metrics().setPlan(apiKey.getPlan());
request.metrics().setApplication(apiKey.getApplication());
executionContext.setAttribute(ATTR_API_KEY, apiKey.getKey());

final String apiName = (String) executionContext.getAttribute(ExecutionContext.ATTR_API);
// Optional<Plan> optPlan = executionContext.getComponent(PlanRepository.class).findById(apiKey.getPlan());
Expand Down

0 comments on commit f66f4ee

Please sign in to comment.