X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=cms%2Forg.argeo.cms.integration%2Fsrc%2Forg%2Fargeo%2Fcms%2Fintegration%2FCmsTokenServlet.java;h=b95e56ef69c2867f8f8efa76ddc6c7a27ffca0af;hb=69a25048f4a4e78a00e1a8a60455e83e00e06dcc;hp=11a6944b29efc2fc739d3dc52e653e193fb4f55b;hpb=d3bee9f6a2c9aea9bc9ab631e935794dcba39b03;p=gpl%2Fargeo-slc.git diff --git a/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsTokenServlet.java b/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsTokenServlet.java index 11a6944b2..b95e56ef6 100644 --- a/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsTokenServlet.java +++ b/cms/org.argeo.cms.integration/src/org/argeo/cms/integration/CmsTokenServlet.java @@ -17,8 +17,10 @@ import javax.servlet.http.HttpServletResponse; import org.argeo.api.NodeConstants; import org.argeo.cms.CmsUserManager; -import org.argeo.cms.auth.HttpRequestCallback; -import org.argeo.cms.auth.HttpRequestCallbackHandler; +import org.argeo.cms.auth.RemoteAuthCallback; +import org.argeo.cms.auth.RemoteAuthCallbackHandler; +import org.argeo.cms.servlet.ServletHttpRequest; +import org.argeo.cms.servlet.ServletHttpResponse; import org.argeo.naming.NamingUtils; import org.osgi.service.useradmin.Authorization; @@ -38,16 +40,17 @@ public class CmsTokenServlet extends HttpServlet { private ObjectMapper objectMapper = new ObjectMapper(); @Override - protected void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { + protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + ServletHttpRequest request = new ServletHttpRequest(req); + ServletHttpResponse response = new ServletHttpResponse(resp); LoginContext lc = null; try { - lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, new HttpRequestCallbackHandler(request, response) { + lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, new RemoteAuthCallbackHandler(request, response) { public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException { for (Callback callback : callbacks) { - if (callback instanceof HttpRequestCallback) { - ((HttpRequestCallback) callback).setRequest(request); - ((HttpRequestCallback) callback).setResponse(response); + if (callback instanceof RemoteAuthCallback) { + ((RemoteAuthCallback) callback).setRequest(request); + ((RemoteAuthCallback) callback).setResponse(response); } } } @@ -61,7 +64,7 @@ public class CmsTokenServlet extends HttpServlet { Subject subject = lc.getSubject(); Authorization authorization = extractFrom(subject.getPrivateCredentials(Authorization.class)); String token = UUID.randomUUID().toString(); - String expiryDateStr = request.getParameter(PARAM_EXPIRY_DATE); + String expiryDateStr = req.getParameter(PARAM_EXPIRY_DATE); ZonedDateTime expiryDate; if (expiryDateStr != null) { expiryDate = NamingUtils.ldapDateToZonedDateTime(expiryDateStr); @@ -77,11 +80,11 @@ public class CmsTokenServlet extends HttpServlet { tokenDescriptor.setExpiryDate(expiryDateStr); // tokenDescriptor.setRoles(Collections.unmodifiableSortedSet(new TreeSet<>(Arrays.asList(roles)))); - response.setContentType("application/json"); - JsonGenerator jg = objectMapper.getFactory().createGenerator(response.getWriter()); + resp.setContentType("application/json"); + JsonGenerator jg = objectMapper.getFactory().createGenerator(resp.getWriter()); jg.writeObject(tokenDescriptor); } catch (Exception e) { - new CmsExceptionsChain(e).writeAsJson(objectMapper, response); + new CmsExceptionsChain(e).writeAsJson(objectMapper, resp); } }