fdanard
(Franck Danard)
17.Июнь.2021 08:42:32
1
Всем привет.
Я новичок в Discourse и хочу изменить что-то на странице входа, но не знаю, где находится целевой элемент и его содержимое.
URL выглядит так: my.domain.com/auth/crowd , и я получаю страницу входа, но не могу отредактировать её содержимое.
Я видел что-то в конфигурационном файле Discourse (crowd_custom_html ), но содержимое не совсем совпадает с тем, что отображается на странице.
Интересует, где можно изменить этот контент.
Также я проверил, есть ли перенаправление на /auth/crowd . Кажется, нет.
Не мог бы кто-нибудь помочь?
Спасибо.
Франк
Ваша система, вероятно, использует Atlassian Crowd для единого входа (SSO)
Вам следует ознакомиться с документацией по Crowd, чтобы узнать о любых изменениях на вашей странице входа.
fdanard
(Franck Danard)
30.Ноябрь.2021 10:31:29
4
После дальнейшего анализа кода (я не знаю Ruby) кажется, что в коде есть что-то, что блокирует HTML-содержимое.
else
OmniAuth.config.form_css << GlobalSetting.crowd_custom_css
end
end
OmniAuth::Form.build(title: (GlobalSetting.try(:crowd_popup_title) || GlobalSetting.try(:crowd_title) || "Crowd Authentication")) do
text_field 'Username', 'username'
password_field 'Password', 'password'
html "\n<input type='hidden' name='authenticity_token' value='#{token}'/>" if token
button 'Login'
if GlobalSetting.respond_to?(:crowd_custom_html)
html GlobalSetting.crowd_custom_html
end
end.to_response
end
end
omniauth.provider :crowd,
name: 'crowd',
crowd_server_url: GlobalSetting.try(:crowd_server_url),
application_name: GlobalSetting.try(:crowd_application_name),
application_password: GlobalSetting.try(:crowd_application_password)
Я предполагаю, что это связано с установкой переменной DISCOURSE_CROWD_CUSTOM_HTML, которая отображает содержимое здесь?
david
(David Taylor)
30.Ноябрь.2021 13:50:31
5
Да, это должно сработать — вам следует настроить переменную окружения DISCOURSE_CROWD_CUSTOM_HTML внутри файла app.yml.
fdanard
(Franck Danard)
30.Ноябрь.2021 13:52:32
6
К сожалению, это не работает.
Возможно, содержимое должно быть заключено в кавычки?
На данный момент содержимое не заключено в кавычки.
david
(David Taylor)
30.Ноябрь.2021 15:17:42
7
Да, я только что проверил это локально, и, похоже, у нас возникли проблемы с парсингом значений GlobalSetting, содержащих кавычки (а пользовательский HTML почти всегда содержит кавычки). Я только что применил это временное решение:
committed 03:11PM - 30 Nov 21 UTC
The discourse.conf file doesn't handle strings with single quotes in them. There… fore we can't use the GlobalSetting interface, and need to reach directly for the ENV.
Not ideal, and can possibly be improved in future updates of 'launcher', and the discourse.conf file. For now, this commit will solve the issue for this plugin.
Если вы обновите свой сайт, всё должно работать гораздо лучше. Вот пример значения, которое теперь работает у меня:
DISCOURSE_CROWD_CUSTOM_HTML: "<a href='https://example.com' style='display: block; margin: 0.5em 0; text-align: center'>Зарегистрируйтесь в аккаунте example.com!</a><a style='display: block; text-align: center' href='https://example.com/forgot_password'>Забыли пароль?</a>"
fdanard
(Franck Danard)
30.Ноябрь.2021 15:21:40
8
Огромное спасибо, Дэвид.
Я обновлю веб-сайт завтра.
Сделайте это сейчас, сейчас не самое подходящее время.
Могу ли я обновить веб-сайт через графический интерфейс?
Я дам вам знать.
david
(David Taylor)
30.Ноябрь.2021 15:25:12
9
Если вы не меняете значение в app.yml, то да, вы должны иметь возможность обновить плагин discourse-crowd через /admin/upgrade.
david
(David Taylor)
30.Ноябрь.2021 15:28:30
11
Это будет точно так же, как и любое другое обновление — возможны несколько секунд или минут простоя или замедления во время выполнения обновления. Если возможно, лучше дождаться тихого времени на вашем сайте.
fdanard
(Franck Danard)
30.Ноябрь.2021 15:30:14
12
Понял.
Спасибо всем. Дам знать
fdanard
(Franck Danard)
30.Ноябрь.2021 15:45:16
13
@david , вопрос на скорую руку, пожалуйста.
Я заметил, что есть crowd_popup_title и crowd_title .
Разница между ними в том, что первый отображается во всплывающем окне, а второй — на полной странице, верно?
david
(David Taylor)
30.Ноябрь.2021 15:51:37
14
Слово «popup» немного устарело. Мы больше не используем всплывающие окна для аутентификации, поэтому это значение фактически используется как тег <title> вкладки во время аутентификации:
(то есть вот эта часть:)
crowd_title используется как метка на кнопке входа (если у вас включено несколько методов входа).
Если вы не указываете crowd_popup_title, то для тега <title> вкладки входа будет использоваться crowd_title.
fdanard
(Franck Danard)
30.Ноябрь.2021 15:55:42
15
А, понятно.
Я говорю это, потому что действительно, после обновления всплывающего окна для входа больше нет. Сейчас у нас есть отдельная страница для входа.
Кстати, есть ли способ настроить эту страницу, например, изменить фон и т.д.?
david
(David Taylor)
30.Ноябрь.2021 16:35:23
16
Да, вы можете использовать DISCOURSE_CROWD_CUSTOM_CSS, чтобы добавить пользовательские правила CSS на страницу
fdanard
(Franck Danard)
01.Декабрь.2021 08:04:23
17
Доброе утро, @david
Это работает.
Большое спасибо.
Желаю вам приятного дня.