Search in sources :

Example 1 with LoginForm

use of com.networknt.portal.usermanagement.model.LoginForm in project light-portal by networknt.

the class UserLoginPutHandler method handleRequest.

@Override
public void handleRequest(HttpServerExchange exchange) throws Exception {
    ObjectMapper mapper = new ObjectMapper();
    Map s = (Map) exchange.getAttachment(BodyHandler.REQUEST_BODY);
    String json = mapper.writeValueAsString(s);
    LoginForm login = mapper.readValue(json, LoginForm.class);
    User userResult = null;
    try {
        if (login.getToken() != null) {
            userResult = service.confirmPasswordReset(login.getNameOrEmail(), login.getToken());
        }
        userResult = service.login(login.getNameOrEmail(), login.getPassword());
    } catch (NoSuchUserException e) {
    // TODO handler excption, add log info?
    } catch (InvalidTokenException e) {
    // TODO handler excption, add log info?
    }
    String result;
    if (userResult == null) {
        result = "Login failed, please re-try or contact to admin;";
    } else {
        result = "Login successfully: \n" + mapper.writeValueAsString(service.toUserDto(userResult));
    // TODO get session???
    }
    exchange.getResponseHeaders().add(new HttpString("Content-Type"), "application/json");
    exchange.getResponseSender().send(Config.getInstance().getMapper().writeValueAsString(result));
// exchange.endExchange();
}
Also used : InvalidTokenException(com.networknt.portal.usermanagement.model.common.exception.InvalidTokenException) User(com.networknt.portal.usermanagement.model.common.model.user.User) NoSuchUserException(com.networknt.portal.usermanagement.model.common.exception.NoSuchUserException) HttpString(io.undertow.util.HttpString) LoginForm(com.networknt.portal.usermanagement.model.LoginForm) HashMap(java.util.HashMap) Map(java.util.Map) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) HttpString(io.undertow.util.HttpString)

Example 2 with LoginForm

use of com.networknt.portal.usermanagement.model.LoginForm in project light-portal by networknt.

the class UserLoginPutHandlerTest method testUserLoginPutHandlerTest.

@Test
public void testUserLoginPutHandlerTest() throws ClientException, ApiException {
    final Http2Client client = Http2Client.getInstance();
    final CountDownLatch latch = new CountDownLatch(1);
    final ClientConnection connection;
    try {
        connection = client.connect(new URI(url), Http2Client.WORKER, Http2Client.SSL, Http2Client.POOL, enableHttp2 ? OptionMap.create(UndertowOptions.ENABLE_HTTP2, true) : OptionMap.EMPTY).get();
    } catch (Exception e) {
        throw new ClientException(e);
    }
    final AtomicReference<ClientResponse> reference = new AtomicReference<>();
    LoginForm login = new LoginForm();
    login.setPassword("password");
    login.setNameOrEmail("user_login");
    String json = JSonMapper.toJson(login);
    System.out.println(json);
    try {
        ClientRequest request = new ClientRequest().setPath("/v1/user/login").setMethod(Methods.PUT);
        request.getRequestHeaders().put(Headers.CONTENT_TYPE, "application/json");
        request.getRequestHeaders().put(Headers.TRANSFER_ENCODING, "chunked");
        connection.sendRequest(request, client.createClientCallback(reference, latch, json));
        latch.await();
    } catch (Exception e) {
        logger.error("Exception: ", e);
        throw new ClientException(e);
    } finally {
        IoUtils.safeClose(connection);
    }
    int statusCode = reference.get().getResponseCode();
    String body = reference.get().getAttachment(Http2Client.RESPONSE_BODY);
    System.out.println("response:" + body);
    Assert.assertEquals(200, statusCode);
    Assert.assertNotNull(body);
}
Also used : ClientResponse(io.undertow.client.ClientResponse) AtomicReference(java.util.concurrent.atomic.AtomicReference) CountDownLatch(java.util.concurrent.CountDownLatch) URI(java.net.URI) ClientException(com.networknt.exception.ClientException) ApiException(com.networknt.exception.ApiException) ClientConnection(io.undertow.client.ClientConnection) Http2Client(com.networknt.client.Http2Client) ClientException(com.networknt.exception.ClientException) LoginForm(com.networknt.portal.usermanagement.model.LoginForm) ClientRequest(io.undertow.client.ClientRequest) Test(org.junit.Test)

Aggregations

LoginForm (com.networknt.portal.usermanagement.model.LoginForm)2 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 Http2Client (com.networknt.client.Http2Client)1 ApiException (com.networknt.exception.ApiException)1 ClientException (com.networknt.exception.ClientException)1 InvalidTokenException (com.networknt.portal.usermanagement.model.common.exception.InvalidTokenException)1 NoSuchUserException (com.networknt.portal.usermanagement.model.common.exception.NoSuchUserException)1 User (com.networknt.portal.usermanagement.model.common.model.user.User)1 ClientConnection (io.undertow.client.ClientConnection)1 ClientRequest (io.undertow.client.ClientRequest)1 ClientResponse (io.undertow.client.ClientResponse)1 HttpString (io.undertow.util.HttpString)1 URI (java.net.URI)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 CountDownLatch (java.util.concurrent.CountDownLatch)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 Test (org.junit.Test)1