import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.argeo.api.NodeConstants;
+import org.argeo.api.cms.CmsAuth;
import org.argeo.cms.CmsUserManager;
-import org.argeo.cms.auth.HttpRequestCallback;
-import org.argeo.cms.auth.HttpRequestCallbackHandler;
-import org.argeo.naming.NamingUtils;
+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.util.naming.NamingUtils;
import org.osgi.service.useradmin.Authorization;
import com.fasterxml.jackson.core.JsonGenerator;
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(CmsAuth.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);
}
}
}
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);
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);
}
}