keycloak-aplcache

Details

diff --git a/model/api/src/main/java/org/keycloak/models/OTPPolicy.java b/model/api/src/main/java/org/keycloak/models/OTPPolicy.java
index 8d76bb9..3097acf 100755
--- a/model/api/src/main/java/org/keycloak/models/OTPPolicy.java
+++ b/model/api/src/main/java/org/keycloak/models/OTPPolicy.java
@@ -96,25 +96,25 @@ public class OTPPolicy implements Serializable {
     }
 
     public String getKeyURI(RealmModel realm, UserModel user, String secret) {
+        try {
+            String displayName = realm.getDisplayName() != null && !realm.getDisplayName().isEmpty() ? realm.getDisplayName() : realm.getName();
+            String uri;
 
-      String displayName = realm.getDisplayName();
-      String uri = null;
-
-        if (displayName == null || displayName.isEmpty()) { displayName = realm.getName(); }
-        uri = "otpauth://" + type + "/" + displayName + ":" + user.getUsername() + "?secret=" +
-            Base32.encode(secret.getBytes()) + "&digits=" + digits + "&algorithm=" + algToKeyUriAlg.get(algorithm);
-      try {
-        uri += "&issuer=" + URLEncoder.encode(realm.getName(), "UTF-8");
-      } catch (UnsupportedEncodingException e) {
-        logger.debug("Failed to add issuer parameter to OTP URI becasue UTF-8 is not supported.");
-      }
-      if (type.equals(UserCredentialModel.HOTP)) {
-            uri += "&counter=" + initialCounter;
-        }
-        if (type.equals(UserCredentialModel.TOTP)) {
-            uri += "&period=" + period;
-        }
-        return uri;
+            uri = "otpauth://" + type + "/" + URLEncoder.encode(user.getUsername(), "UTF-8") + "?secret=" +
+                    Base32.encode(secret.getBytes()) + "&digits=" + digits + "&algorithm=" + algToKeyUriAlg.get(algorithm);
+
+            uri += "&issuer=" + URLEncoder.encode(displayName, "UTF-8");
 
+            if (type.equals(UserCredentialModel.HOTP)) {
+                uri += "&counter=" + initialCounter;
+            }
+            if (type.equals(UserCredentialModel.TOTP)) {
+                uri += "&period=" + period;
+            }
+
+            return uri;
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException(e);
+        }
     }
 }