diff options
author | Fraser Tweedale <ftweedal@redhat.com> | 2017-02-07 11:47:54 +1000 |
---|---|---|
committer | Fraser Tweedale <ftweedal@redhat.com> | 2017-03-16 17:46:18 +1000 |
commit | 4cf87aa3babc4c7d8ea60a46cb548ebfee493ae4 (patch) | |
tree | 6048d4b0944a6240ad438300e88a873c779c6447 | |
parent | 295cb2f175711a85f371c0fa93c584ad235066e4 (diff) | |
download | pki-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.java | 68 |
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); |