package org.apereo.cas.support.rest;
import org.apereo.cas.authentication.Credential;
import org.apereo.cas.authentication.UsernamePasswordCredential;
import org.springframework.util.MultiValueMap;
/**
* This is {@link DefaultCredentialFactory}.
*
* @author Misagh Moayyed
* @since 5.0.0
*/
public class DefaultCredentialFactory implements CredentialFactory {
private static final String USERNAME = "username";
private static final String PASSWORD = "password";
@Override
public Credential fromRequestBody(final MultiValueMap<String, String> requestBody) {
final String username = requestBody.getFirst(USERNAME);
final String password = requestBody.getFirst(PASSWORD);
if (username == null || password == null) {
throw new BadRequestException("Invalid payload. 'username' and 'password' form fields are required.");
}
return new UsernamePasswordCredential(requestBody.getFirst(USERNAME),
requestBody.getFirst(PASSWORD));
}
}