Skip to content

Commit e7dd231

Browse files
committed
Prevent NPE when trusted-device-authenticator has no config
1 parent 3c98eae commit e7dd231

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/main/java/nl/wouterh/keycloak/trusteddevice/authenticator/RegisterTrustedDeviceAuthenticator.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.keycloak.common.util.Time;
2323
import org.keycloak.credential.CredentialModel;
2424
import org.keycloak.credential.CredentialProvider;
25+
import org.keycloak.models.AuthenticatorConfigModel;
2526
import org.keycloak.models.KeycloakSession;
2627
import org.keycloak.models.RealmModel;
2728
import org.keycloak.models.UserModel;
@@ -67,9 +68,15 @@ public void action(AuthenticationFlowContext context) {
6768
return;
6869
}
6970

70-
Map<String, String> config = context.getAuthenticatorConfig().getConfig();
71-
Duration duration = Strings.isNullOrEmpty(config.get(CONF_DURATION)) ? null
72-
: Duration.parse(config.get(CONF_DURATION));
71+
Duration duration = null;
72+
73+
AuthenticatorConfigModel authenticatorConfig = context.getAuthenticatorConfig();
74+
if (authenticatorConfig != null) {
75+
Map<String, String> config = authenticatorConfig.getConfig();
76+
if (config != null && !Strings.isNullOrEmpty(config.get(CONF_DURATION))) {
77+
duration = Duration.parse(config.get(CONF_DURATION));
78+
}
79+
}
7380

7481
MultivaluedMap<String, String> formParameters = context.getHttpRequest()
7582
.getDecodedFormParameters();

0 commit comments

Comments
 (0)