/* * Copyright 2016 Red Hat, Inc. and/or its affiliates * and other contributors as indicated by the @author tags. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.keycloak.representations.idm; import org.keycloak.common.util.MultivaluedHashMap; /** * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ */ public class CredentialRepresentation { public static final String SECRET = "secret"; public static final String PASSWORD = "password"; public static final String PASSWORD_TOKEN = "password-token"; public static final String TOTP = "totp"; public static final String HOTP = "hotp"; public static final String CLIENT_CERT = "cert"; public static final String KERBEROS = "kerberos"; protected String type; protected String device; // Plain-text value of credential (used for example during import from manually created JSON file) protected String value; // Value stored in DB (used for example during export/import) protected String hashedSaltedValue; protected String salt; protected Integer hashIterations; protected Integer counter; private String algorithm; private Integer digits; private Integer period; private Long createdDate; private MultivaluedHashMap<String, String> config; // only used when updating a credential. Might set required action protected Boolean temporary; public String getType() { return type; } public void setType(String type) { this.type = type; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } public String getDevice() { return device; } public void setDevice(String device) { this.device = device; } public String getHashedSaltedValue() { return hashedSaltedValue; } public void setHashedSaltedValue(String hashedSaltedValue) { this.hashedSaltedValue = hashedSaltedValue; } public String getSalt() { return salt; } public void setSalt(String salt) { this.salt = salt; } public Integer getHashIterations() { return hashIterations; } public void setHashIterations(Integer hashIterations) { this.hashIterations = hashIterations; } public Boolean isTemporary() { return temporary; } public void setTemporary(Boolean temporary) { this.temporary = temporary; } public Integer getCounter() { return counter; } public void setCounter(Integer counter) { this.counter = counter; } public String getAlgorithm() { return algorithm; } public void setAlgorithm(String algorithm) { this.algorithm = algorithm; } public Integer getDigits() { return digits; } public void setDigits(Integer digits) { this.digits = digits; } public Integer getPeriod() { return period; } public void setPeriod(Integer period) { this.period = period; } public Long getCreatedDate() { return createdDate; } public void setCreatedDate(Long createdDate) { this.createdDate = createdDate; } public MultivaluedHashMap<String, String> getConfig() { return config; } public void setConfig(MultivaluedHashMap<String, String> config) { this.config = config; } }