74 if (!(input instanceof UserCredentialModel)) {
75 logger.debug(
"Expected instance of UserCredentialModel for CredentialInput");
78 UserCredentialModel inputModel = (UserCredentialModel)input;
79 CredentialModel model = null;
80 if (inputModel.getDevice() != null) {
81 model =
getCredentialStore().getStoredCredentialByNameAndType(realm, user, inputModel.getDevice(), CredentialModel.TOTP);
83 model =
getCredentialStore().getStoredCredentialByNameAndType(realm, user, inputModel.getDevice(), CredentialModel.HOTP);
89 model =
new CredentialModel();
92 OTPPolicy policy = realm.getOTPPolicy();
93 model.setDigits(policy.getDigits());
94 model.setCounter(policy.getInitialCounter());
95 model.setAlgorithm(policy.getAlgorithm());
96 model.setType(input.getType());
97 model.setValue(inputModel.getValue());
98 model.setDevice(inputModel.getDevice());
99 model.setPeriod(policy.getPeriod());
100 model.setCreatedDate(Time.currentTimeMillis());
101 if (model.getId() == null) {
106 UserCache userCache =
session.userCache();
107 if (userCache != null) {
108 userCache.evict(realm, user);
boolean supportsCredentialType(String credentialType)
Definition: OTPCredentialProvider.java:166
UserCredentialStore getCredentialStore()
Definition: OTPCredentialProvider.java:55
KeycloakSession session
Definition: OTPCredentialProvider.java:44
static final Logger logger
Definition: OTPCredentialProvider.java:42
void disableCredentialType(RealmModel realm, UserModel user, String credentialType)
Definition: OTPCredentialProvider.java:117