Example usage for org.springframework.security.crypto.encrypt Encryptors text

List of usage examples for org.springframework.security.crypto.encrypt Encryptors text

Introduction

In this page you can find the example usage for org.springframework.security.crypto.encrypt Encryptors text.

Prototype

public static TextEncryptor text(CharSequence password, CharSequence salt) 

Source Link

Document

Creates a text encryptor that uses "standard" password-based encryption.

Usage

From source file:com.ushahidi.swiftriver.core.api.service.AccountServiceTest.java

@Test
public void createClient() {
    Account account = new Account();
    Role role = new Role();
    CreateClientDTO createClientDTO = new CreateClientDTO();
    createClientDTO.setName("new app's name");
    createClientDTO.setDescription("new app's description");
    createClientDTO.setHomepage("http://example.com");
    createClientDTO.setRedirectUri("http://example.com/redirect");

    when(mockAccountDao.findById(anyLong())).thenReturn(account);
    when(mockAccountDao.findByUsernameOrEmail(anyString())).thenReturn(account);
    when(mockRoleDao.findByName(anyString())).thenReturn(role);

    accountService.setMapper(mapper);/*from w w w.  ja  v a2 s  . co  m*/
    GetClientDTO getClientDTO = accountService.createClient(1L, createClientDTO, "admin");

    ArgumentCaptor<Client> argument = ArgumentCaptor.forClass(Client.class);
    verify(mockClientDao).create(argument.capture());
    Client client = argument.getValue();
    assertEquals("new app's name", client.getName());
    assertEquals("new app's description", client.getDescription());
    assertEquals("http://example.com", client.getHomepage());
    assertEquals("http://example.com/redirect", client.getRedirectUri());
    assertTrue(client.getActive());
    assertTrue(client.getRoles().contains(role));
    assertNotNull(client.getClientId());
    assertNotNull(client.getClientSecret());

    TextEncryptor encryptor = Encryptors.text(TextUtil.convertStringToHex(accountService.getEncryptionKey()),
            TextUtil.convertStringToHex(client.getClientId()));
    assertEquals(getClientDTO.getClientSecret(), encryptor.decrypt(client.getClientSecret()));
}

From source file:com.ushahidi.swiftriver.core.api.service.AccountService.java

/**
 * Sets a random client_id and client_secret in the given Client object.
 * /*  w w  w. j ava  2  s  .  c om*/
 * @param client
 * @return The plain text secret.
 */
private String resetClientCredentials(Client client) {
    // Reset the client credentials
    String clientId = UUID.randomUUID().toString();
    String secret = UUID.randomUUID().toString();

    // Encrypt the secret
    TextEncryptor encryptor = Encryptors.text(TextUtil.convertStringToHex(encryptionKey),
            TextUtil.convertStringToHex(clientId));
    client.setClientSecret(encryptor.encrypt(secret));
    client.setClientId(clientId);

    return secret;
}

From source file:com.ushahidi.swiftriver.core.api.service.AccountService.java

/**
 * Get the plain text client_secret for the given client.
 * //from  www  .ja  v  a  2 s  .c om
 * @param client
 * @return
 */
private String decryptClientSecret(Client client) {
    TextEncryptor encryptor = Encryptors.text(TextUtil.convertStringToHex(encryptionKey),
            TextUtil.convertStringToHex(client.getClientId()));
    return encryptor.decrypt(client.getClientSecret());
}