#liferay #liferay-7
Вопрос:
Мы добавили несколько социальных логинов на наш портал Liferay 7.3. Facebook и OpenID Connect, а также настраиваемые фильтры для Twitter, LinkedIn и так далее.К ним относятся встроенные функции Facebook и OpenID Connect, а также пользовательские фильтры для Twitter, LinkedIn и так далее. OpenID Connect настроен для входа в систему Google.
Все это работает нормально, но мне нужно изменить ссылку на странице входа в систему с «OpenID Connect» на «Google».
Я обнаружил, что значение задано в ключе open-id-connect-имя конфигурации в языковых файлах в модуле portal-security-sso-openid-connect-api. Затем к нему обращается метод getName() com.liferay.portal.settings.authentication.openid.connect.web.internal.portal.settings.configuration.admin.display.Класс атрибута OpenIdConnectPortalSettingsConfigurationScreenContributor. Я полагаю, что этот участник предоставляет значение навигатору для использования в качестве метки.
Мой вопрос в том, какой самый простой и удобный способ изменить это значение? Моей мыслью было предоставить альтернативные файлы Language_*.properties, но я не уверен, как переопределить существующие. Позволит ли мне это сделать JSP-хук модуля portal-security-sso-openid-connect-api?
Ответ №1:
Я не знаю чистого способа — надеюсь, кто — нибудь подключится к нему, — но у меня была та же проблема, и мне пришлось решить ее с помощью небольшого фрагмента JavaScript в navigation.jspf:
<script>
$( document ).ready(function() {
$(".taglib-text").filter(function () {
return ($(this).text() === 'OpenId Connect')
}).text("Google");
});
</script>
Хотя это работает, это все еще немного странно, так как при нажатии на ссылку откроется портлет OpenID Connect, в котором есть раскрывающийся список с одним выбранным элементом — Google, а затем пользователь должен нажать другую кнопку входа. Я знаю, что это позволяет нескольким клиентам OpenID подключаться, но мне бы очень хотелось использовать прямой метод для Google.
Комментарии:
1. Спасибо за ответ. Это не то, что я имел в виду, но я могу в конечном итоге сделать это, пока я жду.
2. Согласованный. Я рассмотрю любое решение, которое вы получите для моего собственного использования.
3. Я бы сказал, что это соответствует вашему вопросу «какой самый простой и удобный способ». Другие варианты, такие как введение фрагмента JSP, могут показаться более элегантными, но вам придется их сохранить (в отличие от первоначальной реализации). При этом: фрагменты JSP-это вариант, но мое личное предпочтение таково: если я могу обойтись без этого, я избавлю себя от бремени обслуживания.
4. Спасибо @Olaf Kock. Я всегда ценю ваш вклад и доверяю ему.