summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFraser Tweedale <ftweedal@redhat.com>2017-02-07 11:47:54 +1000
committerFraser Tweedale <ftweedal@redhat.com>2017-03-16 17:46:18 +1000
commit4cf87aa3babc4c7d8ea60a46cb548ebfee493ae4 (patch)
tree6048d4b0944a6240ad438300e88a873c779c6447
parent295cb2f175711a85f371c0fa93c584ad235066e4 (diff)
downloadpki-4cf87aa3babc4c7d8ea60a46cb548ebfee493ae4.tar.gz
pki-4cf87aa3babc4c7d8ea60a46cb548ebfee493ae4.tar.xz
pki-4cf87aa3babc4c7d8ea60a46cb548ebfee493ae4.zip
CertProcessor: extract method setAuthTokenIntoRequest
The "set auth token into request" logic is extensive and warrants extraction. It also has a separate concern mixed in with it: the self-assignment of the request if the authenticated user is a "Registration Manager Agent". Separate these concerns and extract the setAuthTokenIntoRequest method. Part of: https://pagure.io/dogtagpki/issue/1359
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/cert/CertProcessor.java68
1 files changed, 34 insertions, 34 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/cert/CertProcessor.java b/base/server/cms/src/com/netscape/cms/servlet/cert/CertProcessor.java
index 026f4d4af..47b522208 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/cert/CertProcessor.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/cert/CertProcessor.java
@@ -116,6 +116,30 @@ public class CertProcessor extends CAProcessor {
}
}
+ private static void setAuthTokenIntoRequest(
+ IRequest req, IAuthToken authToken) {
+ Enumeration<String> tokenNames = authToken.getElements();
+ while (tokenNames.hasMoreElements()) {
+ String tokenName = tokenNames.nextElement();
+ String[] tokenVals = authToken.getInStringArray(tokenName);
+ if (tokenVals != null) {
+ for (int i = 0; i < tokenVals.length; i++) {
+ req.setExtData(
+ IRequest.AUTH_TOKEN_PREFIX
+ + "." + tokenName + "[" + i + "]"
+ , tokenVals[i]);
+ }
+ } else {
+ String tokenVal = authToken.getInString(tokenName);
+ if (tokenVal != null) {
+ req.setExtData(
+ IRequest.AUTH_TOKEN_PREFIX + "." + tokenName,
+ tokenVal);
+ }
+ }
+ }
+ }
+
/*
* fill input info from orig request to the renew request.
* This is expected to be used by renewal where the request
@@ -289,9 +313,6 @@ public class CertProcessor extends CAProcessor {
IProfile profile, IProfileContext ctx, IProfileAuthenticator authenticator, IAuthToken authToken,
IRequest[] reqs) throws EBaseException {
for (IRequest req : reqs) {
- boolean fromRA = false;
- String uid = "";
-
// adding parameters to request
if (isRenewal) {
setInputsIntoRequest(origReq, profile, req, locale);
@@ -302,41 +323,20 @@ public class CertProcessor extends CAProcessor {
setInputsIntoRequest(data, profile, req);
}
- // serial auth token into request
if (authToken != null) {
- Enumeration<String> tokenNames = authToken.getElements();
- while (tokenNames.hasMoreElements()) {
- String tokenName = tokenNames.nextElement();
- String[] tokenVals = authToken.getInStringArray(tokenName);
- if (tokenVals != null) {
- for (int i = 0; i < tokenVals.length; i++) {
- req.setExtData(
- IRequest.AUTH_TOKEN_PREFIX
- + "." + tokenName + "[" + i + "]"
- , tokenVals[i]);
- }
- } else {
- String tokenVal = authToken.getInString(tokenName);
- if (tokenVal != null) {
- req.setExtData(
- IRequest.AUTH_TOKEN_PREFIX + "." + tokenName,
- tokenVal);
- // if RA agent, auto assign the request
- if (tokenName.equals("uid"))
- uid = tokenVal;
- if (tokenName.equals("group") && tokenVal.equals("Registration Manager Agents")) {
- fromRA = true;
- }
- }
- }
+ setAuthTokenIntoRequest(req, authToken);
+
+ // if RA agent, auto-assign the request
+ String raGroupName = "Registration Manager Agents";
+ if (raGroupName.equals(authToken.getInString(IAuthToken.GROUP))) {
+ String uid = authToken.getInString(IAuthToken.UID);
+ if (uid == null)
+ uid = "";
+ CMS.debug("CertProcessor: request from RA: " + uid);
+ req.setExtData(ARG_REQUEST_OWNER, uid);
}
}
- if (fromRA) {
- CMS.debug("CertProcessor: request from RA: " + uid);
- req.setExtData(ARG_REQUEST_OWNER, uid);
- }
-
// put profile framework parameters into the request
req.setExtData(ARG_PROFILE, "true");
req.setExtData(IRequest.PROFILE_ID, profileId);