Search in sources :

Example 1 with LoginClientMessage

use of com.faforever.client.remote.domain.LoginClientMessage in project downlords-faf-client by FAForever.

the class FafServerAccessorImpl method logIn.

private void logIn(String username, String password) {
    try {
        String uniqueId = uidService.generate(String.valueOf(sessionId.get()), preferencesService.getFafDataDirectory().resolve("uid.log"));
        writeToServer(new LoginClientMessage(username, Hashing.sha256().hashString(password, UTF_8).toString(), sessionId.get(), uniqueId, localIp));
    } catch (IOException e) {
        onUIDNotExecuted(e);
    }
}
Also used : LoginClientMessage(com.faforever.client.remote.domain.LoginClientMessage) IOException(java.io.IOException)

Example 2 with LoginClientMessage

use of com.faforever.client.remote.domain.LoginClientMessage in project downlords-faf-client by FAForever.

the class ServerAccessorImplTest method testConnectAndLogIn.

@Test
public void testConnectAndLogIn() throws Exception {
    int playerUid = 123;
    String username = "JunitUser";
    String password = "JunitPassword";
    long sessionId = 456;
    CompletableFuture<LoginMessage> loginFuture = instance.connectAndLogIn(username, password).toCompletableFuture();
    String json = messagesReceivedByFafServer.poll(TIMEOUT, TIMEOUT_UNIT);
    InitSessionMessage initSessionMessage = gson.fromJson(json, InitSessionMessage.class);
    assertThat(initSessionMessage.getCommand(), is(ClientMessageType.ASK_SESSION));
    SessionMessage sessionMessage = new SessionMessage();
    sessionMessage.setSession(sessionId);
    sendFromServer(sessionMessage);
    json = messagesReceivedByFafServer.poll(TIMEOUT, TIMEOUT_UNIT);
    LoginClientMessage loginClientMessage = gson.fromJson(json, LoginClientMessage.class);
    assertThat(loginClientMessage.getCommand(), is(ClientMessageType.LOGIN));
    assertThat(loginClientMessage.getLogin(), is(username));
    assertThat(loginClientMessage.getPassword(), is(Hashing.sha256().hashString(password, UTF_8).toString()));
    assertThat(loginClientMessage.getSession(), is(sessionId));
    assertThat(loginClientMessage.getUniqueId(), is("encrypteduidstring"));
    LoginMessage loginServerMessage = new LoginMessage();
    loginServerMessage.setId(playerUid);
    loginServerMessage.setLogin(username);
    sendFromServer(loginServerMessage);
    LoginMessage result = loginFuture.get(TIMEOUT, TIMEOUT_UNIT);
    assertThat(result.getMessageType(), is(FafServerMessageType.WELCOME));
    assertThat(result.getId(), is(playerUid));
    assertThat(result.getLogin(), is(username));
}
Also used : InitSessionMessage(com.faforever.client.remote.domain.InitSessionMessage) SessionMessage(com.faforever.client.remote.domain.SessionMessage) LoginMessage(com.faforever.client.remote.domain.LoginMessage) InitSessionMessage(com.faforever.client.remote.domain.InitSessionMessage) LoginClientMessage(com.faforever.client.remote.domain.LoginClientMessage) Test(org.junit.Test) AbstractPlainJavaFxTest(com.faforever.client.test.AbstractPlainJavaFxTest)

Aggregations

LoginClientMessage (com.faforever.client.remote.domain.LoginClientMessage)2 InitSessionMessage (com.faforever.client.remote.domain.InitSessionMessage)1 LoginMessage (com.faforever.client.remote.domain.LoginMessage)1 SessionMessage (com.faforever.client.remote.domain.SessionMessage)1 AbstractPlainJavaFxTest (com.faforever.client.test.AbstractPlainJavaFxTest)1 IOException (java.io.IOException)1 Test (org.junit.Test)1