diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java index 31d02c153..2da3801bc 100644 --- a/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java +++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/config/JsonMessageSource.java @@ -163,10 +163,18 @@ public class JsonMessageSource extends AbstractMessageSource { try { List set = new ArrayList<>(); for (String namespace : config.getLanguageNamespaces()) { - String filename = locale.getLanguage() + File.separator + namespace + ".json"; + // full locale string, e.g. "en_US" + String filename = locale.toString() + File.separator + namespace + ".json"; Resource r = getBaseDirectory().createRelative(filename); + if (!r.exists()) { + // fallback to language only + logger.debug("Fallback locale to language only."); + filename = locale.getLanguage() + File.separator + namespace + ".json"; + r = getBaseDirectory().createRelative(filename); + } + logger.info("No locale loaded, trying to load from " + r); JsonParser parser = new JsonParser();