Русские Блоги
WeChat сторонний логин ошибка параметра redirect_uri
WeChat сторонний логин
Позвольте мне поговорить о решении: параметр redirect_uri неверен
Установите адрес обратного вызова на открытой платформе, например, адрес www.niezhiliang.com, поэтому при генерации QR-кода обратный вызов может записывать адрес только под именем домена
В адресной странице QR-кода приложения (ваш redirect_uri) также необходимо добавить http или https, а также выполнить операции перекодирования.
Обычно мыhttp://www.niezhiliang/callback Должен быть изменен, чтобы выглядеть следующим образом http% 3a% 2f% 2fwww.niezhiliang.com% 2fcallback
Кроме того, за адресом обратного вызова не может следовать номер порта, например:http://www.niezhiliang.com:8080/callback Это не сработает
Сообщит, что ваш redirect_uri неверен

Первый шаг:
Код QR-кода приложения:
Второй шаг:
После того, как мобильный телефон отсканирует QR-код, он получит доступ к адресу обратного вызова, который мы установили ранее, и мы сможем получить код для запроса токена.
Основная информация пользователя, такая как:
<
“openid”: “oRFVX0i662JO-p1o_jnqPEU88ahc”,
«ник»: « »,
“sex”: 1,
“language”: “zh_CN”,
“city”: “Yichun”,
“province”: “Jiangxi”,
“country”: “CN”,
“headimgurl”: “http://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKlDY7yfJB1ZehJECjLQ8d89rVkX3sZFGB7ry1Q720yU5qAc2rFJfcG6gMibXwN6QnZTRIQyiaeMm8Q/132”,
“privilege”: [],
“unionid”: “of_IS5sWN3Ah0JdJ7O1LvDFT_4l0”
>
Метод обратного вызова:
Я здесь просто демо, так что все очень просто. Давайте сделаем это в соответствии с потребностями вашего бизнеса.
Интеллектуальная рекомендация
![]()
Ядро Python-строки 1. Что такое строка Фактически, я сказал ранее, когда говорил о типе данных, это параметр в кавычках, все в кавычках «» является строкой, а строка также называется текстом.
Меры предосторожности, связанные с ценами системы управления продажами
В покупкеСистема управления продажамиВ то время предприятия общего сектора, особенно МСП, обеспокоены ценой. На самом деле рынок систем управления продажами является относительно зрелым, каждая систем.
![]()
[Байесовский анализ ②] Проблема подбрасывания монет
Проблема подбрасывания монеты может быть основной вводной проблемой в байесовском умозаключении, которая заключается в простой оценке вероятности θ монеты, обращенной вверх. В отличие от MLE, MA.
День18 направлен ориентирован на 4
Частные свойства, частные методы В основном универсальный__ Прежде чем добавлять в свойство, вы можете получить эту недвижимость, чтобы получить защиту Наследование При определении класса, если вы хот.
![]()
Получение и применение фильтра Калмана (2)
Источник
Способы устранения ошибки Mozilla Firefox «Неверное перенаправление на странице»

Ошибка «Неверное перенаправление на странице» может появиться внезапно, проявляясь на некоторых сайтах. Как правило, подобная ошибка говорит о том, что в вашем браузере возникли проблемы с куками. Поэтому советы, описанные ниже, будут направлены именно на налаживание работы cookies.
Способы решения ошибки
Способ 1: очистка куков
Прежде всего, вам следует попробовать очистить куки в браузере Mozilla Firefox. Куки – это специальная информация, накапливаемая веб-обозревателем, которая со временем может вылиться в появление различных проблем. Часто простая очистка куков позволяет устранить ошибку «Неверное перенаправление на странице».
Способ 2: проверка активности cookies
Следующим шагом мы проверим активность куков в Mozilla Firefox. Для этого щелкните по кнопке меню веб-обозревателя и пройдите к разделу «Настройки».

В левой области окна пройдите ко вкладке «Приватность». В блоке «История» выберите параметр «Firefox будет хранить ваши настройки хранения истории». Ниже появятся дополнительные пункты, среди которых вам необходимо поставить галочку около пункта «Принимать куки с сайтов».

Способ 3: чистка куков для текущего сайта
Подобный способ должен применяться для каждого сайта, при переходе на который отображается ошибка «Неверное перенаправление на странице».
Перейдите на проблемный сайт и левее от адреса страницы щелкните по иконке с замочком (или иной иконке). В открывшемся меню выберите иконку со стрелочкой.

В той же области окна отобразится дополнительное меню, в котором вам понадобится щелкнуть по кнопке «Подробнее».

На экране отобразится окно, в котором вам понадобится перейти ко вкладке «Защита», а затем щелкнуть по кнопке «Посмотреть куки».

На экране появится новое окно, в котором вам необходимо кликнуть по кнопке «Удалить все».

После выполнения данных действий перезагрузите страницу, а затем проверьте наличие ошибки.
Способ 4: отключение работы дополнений
Некоторые дополнения могут нарушать работу Mozilla Firefox, что выливается в появление различных ошибок. Поэтому в данном случае мы попробуем отключить работу дополнений, чтобы проверить, являются ли они причиной возникновения проблемы.
Для этого щелкните по кнопке меню веб-обозревателя и перейдите к разделу «Дополнения».

В левой области окна перейдите ко вкладке «Расширения». Здесь вам потребуется отключить работу всех дополнения браузера и, при необходимости, выполнить его перезапуск. После отключения работы дополнений проверьте наличие ошибки.

Если ошибка исчезла, вам потребуется выяснить какое дополнение (или дополнения) приводят к данной проблеме. Как только источник ошибки будет установлен, его потребуется удалить из браузера.
Способ 5: переустановка браузера
И, наконец, заключительный способ решения проблемы, который подразумевает собой полную переустановку веб-обозревателя.
Предварительно, если это необходимо, сделайте экспорт закладок, чтобы не потерять эти данные.
Обратите внимание, что вам потребуется не просто удалить Mozilla Firefox, а сделать это полностью.
Как только вы полностью избавитесь от Mozilla Firefox, можно приступать к установке новой версии. Как привило, свежая версия Mozilla Firefox, установленная с нуля, будет работать абсолютно корректно.
Это основные способы решения ошибки «Неверное перенаправление на странице». Если у вас есть свой опыт решения проблемы, расскажите о нем в комментариях.
Помимо этой статьи, на сайте еще 12250 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Keycloak Неверный параметр: redirect_uri
когда я пытаюсь ударить из своего api, чтобы аутентифицировать пользователя из keycloak, но он дает мне ошибку. Неверный параметр: redirect_uri на странице keycloak. Я создал свою собственную область отдельно от мастера. keycloak работает на http. Пожалуйста, помогите мне.
Что сработало для меня, это добавить wildchar ‘*’. Хотя для создания сборки я буду более конкретным со значением этого поля. Но для целей dev вы можете это сделать.

Настройка доступна под консолью администратора keycloak → Realm_Name → Cients → Client_Name.
EDIT: Я бы не рекомендовал вышеупомянутое решение для производства, поскольку это может привести к недостатку безопасности.
Перейдите в консоль администратора Keycloak> SpringBootKeycloak> Cients> страница входа в систему. Здесь в разделе valid-redirect uris добавьте http://localhost: 8080/sso/login
Это поможет решить проблему косвенного uri
Я столкнулся с такой же ошибкой. В моем случае проблема была связана с допустимыми URI-адресами Redirect. Итак, это шаги, которые я выполнил.
Первый вход в keycloack в качестве администратора. Затем выберите свое царство (возможно, вы автоматически перейдете в область). Затем вы увидите экран ниже

Выберите Клиенты с левой панели. Затем выберите соответствующий клиент, который вы настроили для своего приложения. По умолчанию вы будете настраивать вкладку, если ее не выбрать. Мое приложение работало на порту 3000, поэтому мои правильные настройки выглядят следующим образом. скажем, у вас есть приложение работает на localhost: 3000, поэтому ваша настройка должна быть такой

Вам нужно проверить консоль администратора keycloak для передней конфигурации. Он должен неправильно настроен для перенаправления URL-адресов и веб-истоков.
Если вы видите эту проблему после внесения изменений в контекст контекста Keycloak, вам необходимо внести дополнительные изменения в настройку URL-адреса перенаправления:
Измените yourchange/auth на auth в файле standalone.xml Перезапустите Keycloak и перейдите на страницу входа ( /auth/admin ) Войдите в систему и выберите область «Мастер» Выберите «Клиенты» в боковом меню Выберите клиент «security-admin-console» из списка, который появляется Измените «Действительные URI Перенаправления» из /auth/admin/master/console/* в /yourchange/auth/admin/master/console/* Сохраните и выйдите из системы. Вы снова увидите сообщение «Недопустимый URL-адрес перенаправления» после выхода из системы. Теперь yourchange/auth свое первоначальное изменение yourchange/auth в standalone.xml Перезапустите Keycloak и перейдите на страницу входа (которая теперь /yourchange/auth/admin ) Войдите и наслаждайтесь
Если вы получаете эту ошибку из-за новой области, которую вы создали
Если вы получаете эту ошибку, потому что пытаетесь настроить Keycloak в общедоступном домене (а не в localhost)
Шаг 1) Следуйте этой документации, чтобы настроить базу данных MySql. Вам также может потребоваться обратиться к официальной документации.
Шаг 2) Запустите update REALM set ssl_required = ‘NONE’ where ; команды update REALM set ssl_required = ‘NONE’ where ;
Шаг 3) Установите Apache. Мы будем использовать Apache в качестве обратного прокси (я пробовал NGINX, но ограничения NGINX мешали мне использовать его). См. Yum для установки Apache (CentOs 7) и apt-get install Apache (Ubuntu 16) или найдите инструкции для вашего конкретного дистрибутива.
Шаг 4) Запустите Apache
- Используйте sudo systemctl start httpd (CentOs) или sudo systemctl start apache2 (Ubuntu), чтобы узнать, запущен ли Apache. Если в последней записи читается Started The Apache HTTP Server. то твой хороший. Используйте sudo systemctl start httpd (CentOs) или sudo systemctl start apache2 (Ubuntu), чтобы запустить Apache.
Шаг 5) Мы установим SSL-соединение с обратным прокси-сервером, а затем обратный прокси-сервер будет связываться с keyCloak через http. Поскольку это http-общение происходит на одной машине, вы все еще в безопасности. Мы можем использовать Certbot для установки сертификатов автоматического обновления.
Если шифрование на стороне клиента недостаточно эффективно, и ваша политика безопасности требует сквозного шифрования, вам придется выяснить, как настроить SSL через WildFly, вместо использования обратного прокси.
Примечание. Я никогда не мог заставить https нормально работать с административным порталом. Возможно, это может быть просто ошибка в бета-версии Keycloak 4.0, которую я использую. Предположим, вы можете установить уровень SSL только для него для внешних запросов, но это, похоже, не работает, поэтому мы устанавливаем https на none на шаге 2. Отсюда мы продолжим использовать http через туннель SSH, но нам понадобилась эта настройка SSL-сертификата для наших конечных точек oauth.
Шаг 6) Всякий раз, когда вы пытаетесь посетить сайт через https, вы инициируете политику HSTS, которая будет автоматически принудительно перенаправлять HTTP-запросы на https. Следуйте этим инструкциям, чтобы очистить правило HSTS от Chrome, а затем пока не переходите на страницу https сайта снова.
Шаг 7) Настройте Apache. Сначала найдите, где находится ваш файл httpd.conf. Ваш файл httpd.conf, вероятно, включает файлы из отдельного каталога. В моем случае я нашел весь мой файл конфигурации в каталоге conf.d расположенном рядом с папкой, в которой находился файл httpd.conf.
После того, как вы найдете свои файлы conf, измените или добавьте следующие записи виртуального хоста в свои файлы conf. Убедитесь, что вы не переопределяете уже существующие параметры SSL, которые генерируются certbot. Когда это будет сделано, ваш файл конфигурации должен выглядеть примерно так.
Шаг 8) Перезапустите Apache. Используйте sudo systemctl restart httpd (CentOs) или sudo systemctl restart apache2 (Ubuntu).
Шаг 9) Прежде чем у вас появится возможность попытаться войти на сервер, поскольку мы сказали Keycloak использовать http, нам нужно настроить другой способ безопасного подключения. Это можно сделать либо путем установки службы VPN на сервере keyclayak, либо с помощью SOCKS. Я использовал прокси-сервер SOCKS. Для этого вам сначала нужно настроить динамическую переадресацию портов.
Или настроить его через Putty.
Весь трафик, отправленный на порт 9905, теперь будет надежно маршрутизироваться через туннель SSH на ваш сервер. Убедитесь, что вы используете белый порт 9905 на брандмауэре вашего сервера.
После настройки динамического перенаправления портов вам необходимо настроить браузер для использования прокси-сервера SOCKS на порту 9905. Инструкции здесь.
Шаг 10) Теперь вы должны теперь войти на сайт. Чтобы подключиться к веб-сайту, перейдите к http://127.0.0.1, и прокси-сервер SOCKS приведет вас в консоль администратора. Убедитесь, что вы выключили прокси-сервер SOCKS, когда вы закончите, так как он использует ресурсы вашего сервера, и приведет к медленной скорости интернета, если вы продолжите его.
Шаг 11) Не спрашивайте меня, сколько времени мне понадобилось, чтобы понять все это.
Источник
Что делать в случае циклического перенаправления на странице

Что это такое
Циклическое перенаправление на странице или циклический редирект, является бесконечным обращением браузера по адресу одной и той же страницы. В ряде случаев может происходить обращение на другой адрес, который, в итоге, опять приводит на запрашиваемую страницу.
Зачем убирать
Ошибка 310
В случае неполадок со стороны сервера, циклическая переадресация становится причиной ошибки. При открытии сайта может появиться сообщение – «на этой странице обнаружена циклическая переадресация» что может служить сигналом о наличии ошибки 310.
Помимо этого, данная ошибка может появиться при использовании определённого браузера. Наиболее подвержен этому «заболеванию» браузер Chrome. Хотя и в других подобная проблема не редкость.
Основные причины возникновения
Пути быстрого решения проблемы
Опираясь на приведённые выше причины, исправить проблему циклической переадресации можно следующими способами:
Как исправить ошибку на виртуальном хостинге
Данная ошибка возникает при наличии редиректа в файле «.htaccess» и включенном редиректе в ISPmanager. Подробнее о нем можно прочитать в статье «Что такое редирект» нашего блога. Для решения проблемы нужно проверить файл «.htaccess» на наличие редиректов с «http» на «https» с помощью изложенного ниже алгоритма.
Настройка редиректа на VDS Nginx+Apache
При использовании Nginx+Apache может произойти зацикливание редиректа «с http на https». Данная проблема связана с тем, что подключение по 80 порту идет на Nginx, а за ним уже находится Apache. Поэтому соединение Nginx и Apache работает не по SSL. В этом случае нужно отредактировать конфигурационный файл Nginx. Добавив в него такие значения:
Поддержание браузера в рабочем состоянии
Браузер также часто становится причиной циклической переадресации. Для минимизации его влияния на возможность возникновения ошибки необходимо совершать ряд профилактических действий.
Как проверить наличие цепочки редиректов
Самый очевидный способ обнаружения — массовая проверка кодов статуса на всех страницах сайта. Сделать это можно с помощью удобных автоматизированных инструментов (redirect tracker), работающих в браузере или в качестве клиентского ПО.
Они функционируют по схожему принципу. Пользователю нужно всего лишь разместить в операционном окне ссылку на интересующий ресурсы, нажать «Старт» и дождаться результатов сканирования.
Популярные сервисы для отслеживания цепочек редиректов
Netpeak Spider

Анализ сайта Webmasta

Проверка переадресации Website Planet

Массовая проверка цепочек редиректов Majento

SEO-помощник Rookee

Работа с файлом настроек каталогов
Перед настройкой, в файл обязательно вносится следующий код:
После этого идут настройки основных редиректов, подходящие для различных серверов, в том числе Nginx и Apache.
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Источник
Что делать с ошибкой 401 Unauthorized Error – методы исправления

Ошибка 401 Unauthorized Error – это код состояния HTTP, который означает, что страница, к которой вы пытались получить доступ, не может быть загружена, пока вы не войдете в систему с действительным идентификатором пользователя и паролем.
Если вы только что вошли в систему и получили 401 ошибку авторизации, это означает, что введенные вами учетные данные по какой-то причине недействительны.
Сообщения об ошибках 401 часто настраиваются на каждом веб-сайте индивидуально, особенно если это крупный портал, поэтому имейте в виду, что эта ошибка может проявляться многими способами, из которых самые распространенные:
401 ошибка авторизации отображается внутри окна веб-браузера, как обычная веб-страница. Как и большинство подобных ошибок, вы можете найти их во всех браузерах, работающих в любой операционной системе.
Как исправить ошибку 401
Проверьте на наличие ошибок в URL. Возможно, ошибка 401 Unauthorized возникла, потому что URL-адрес был введен неправильно, или выбранная ссылка указывает на неправильный URL-адрес, предназначенный только для авторизованных пользователей.
Если вы уверены, что URL-адрес действителен, посетите главную страницу веб-сайта и найдите ссылку с надписью «Логин» или «Безопасный доступ». Введите здесь свои учетные данные, а затем повторите попытку.
Если у вас нет учетных данных или вы забыли свои, следуйте инструкциям на веб-сайте для настройки учетной записи или изменения пароля.
Если вам трудно вспоминать свои, храните их в диспетчере паролей, чтобы приходилось помнить только один пароль.
Перезагрузите страницу. Как бы просто это не показалось, закрытия страницы и её повторное открытие может помочь исправить ошибку 401, но только если она вызвана ошибочно загруженной страницей.
Удалите кеш вашего браузера. Возможно, в вашем браузере хранится неверная информация для входа в систему, что нарушает процесс входа и выдает ошибку 401. Очистка кеша устранит все проблемы в этих файлах и даст странице возможность загружать свежие файлы прямо с сервера.
Другие варианты ошибки 401
Веб-серверы под управлением Microsoft IIS могут предоставить дополнительную информацию об ошибке 401 Unauthorized, например:
| Коды ошибок Microsoft IIS 401 | |
|---|---|
| Ошибка | Объяснение |
| 401,1 | Войти не удалось. |
| 401,2 | Ошибка входа в систему из-за конфигурации сервера. |
| 401,3 | Несанкционированный доступ из-за ACL на ресурс. |
| 401,4 | Авторизация не пройдена фильтром. |
| 401,5 | Авторизация блокирована приложением ISAPI/CGI. |
| 401,501 | Доступ запрещен: слишком много запросов с одного и того же клиентского IP; Ограничение динамического IP-адреса – достигнут предел одновременных запросов. |
| 401,502 | Запрещено: слишком много запросов с одного IP-адреса клиента; Ограничение динамического IP-адреса – достигнут максимальный предел скорости запросов. |
| 401,503 | Отказ в доступе: IP-адрес включен в список запрещенных IP |
| 401,504 | Отказ в доступе: имя хоста включено в список запрещенных |
Ошибки подобные 401
Следующие сообщения также являются ошибками на стороне клиента и относятся к 401 ошибке: 400 Bad Request, 403 Forbidden, 404 Not Found и 408 Request Timeout.
Также существует ряд кодов состояния HTTP на стороне сервера, например, часто встречающийся 500 Internal Server Error.
Источник
If you’re getting this error because of a new realm you created
You can directly change the URL in the URL bar to get past this error. In the URL that you are redirected to (you may have to look in Chrome dev tools for this URL), change the realm from master to the one you just created, and if you are not using https, then make sure the redirect_uri is also using http.
If you’re getting this error because you’re trying to setup Keycloak on a public facing domain (not localhost)
Step 1)
Follow this documentation to setup a MySql database (link’s broken. If you find some good alternative documentation that works for you, feel free to update this link and remove this message). You may also need to refer to this documentation.
Step 2)
Run the command update REALM set ssl_required = 'NONE' where id = 'master';
Note:
At this point, you should technically be able to login, but version 4.0 of Keycloak is using https for the redirect uri even though we just turned off https support. Until Keycloak fixes this, we can get around this with a reverse proxy. A reverse proxy is something we will want to use anyhow to easily create SSL/TLS certificates without having to worry about Java keystores.
Note 2: After writing these instructions, Keycloak come out with their own proxy. They then stopped supporting it and recommended using oauth2 proxy instead. It is lacking some features the Keycloak proxy had, and an unoffical version of that proxy is still being maintained here. I haven’t tried using either of these proxies, but at this point, you might want to stop following my directions and use one of those instead.
Step 3) Install Apache. We will use Apache as a reverse proxy (I tried NGINX, but NGINX had some limitations that got in the way). See yum installing Apache (CentOs 7), and apt-get install Apache (Ubuntu 16), or find instructions for your specific distro.
Step 4) Run Apache
-
Use
sudo systemctl start httpd(CentOs) orsudo systemctl start apache2(Ubuntu) -
Use
sudo systemctl status httpd(CentOs) orsudo systemctl status apache2
(Ubuntu) to check if Apache is running. If you see in green text the wordsactive (running)or if the last entry readsStarted The Apache HTTP Server.then you’re good.
Step 5) We will establish a SSL connection with the reverse proxy, and then the reverse proxy will communicate to keyCloak over http. Because this http communication is happening on the same machine, you’re still secure. We can use Certbot to setup auto-renewing certificates.
If this type of encryption is not good enough, and your security policy requires end-to-end encryption, you will have to figure out how to setup SSL through WildFly, instead of using a reverse proxy.
Note:
I was never actually able to get https to work properly with the admin portal. Perhaps this may have just been a bug in the beta version of Keycloak 4.0 that I’m using. You’re suppose to be able to set the SSL level to only require it for external requests, but this did not seem to work, which is why we set https to none in step #2. From here on we will continue to use http over an SSH tunnel to manage the admin settings.
Step 6)
Whenever you try to visit the site via https, you will trigger an HSTS policy which will auto-force http requests to redirect to https. Follow these instructions to clear the HSTS rule from Chrome, and then for the time being, do not visit the https version of the site again.
Step 7)
Configure Apache. Add the virtual host config in the code block below. If you’ve never done this, then the first thing you’ll need to do is figure out where to add this config file.
On RHEL and some other distros
you’ll need to find where your httpd.conf or apache2.conf file is located. That config file should be loading virtual host config files from another folder such as conf.d.
If you are using Ubuntu or Debian,
your config files will be located in /etc/apache2/sites-available/ and you’ll have an extra step of needing to enable them by running the command sudo a2ensite name-of-your-conf-file.conf. That’ll create a symlink in /etc/apache2/sites-enabled/ which is where Apache looks for config files on Ubuntu/Debian (and remember the config file was placed in sites-available, slightly different).
All distros
Once you’ve found the config files, change out, or add, the following virtual host entries in your config files. Make sure you don’t override the already present SSL options that where generated by certbot. When done, your config file should look something like this.
<VirtualHost *:80>
RewriteEngine on
#change https redirect_uri parameters to http
RewriteCond %{request_uri}?%{query_string} ^(.*)redirect_uri=https(.*)$
RewriteRule . %1redirect_uri=http%2 [NE,R=302]
#uncomment to force https
#does not currently work
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI}
#forward the requests on to keycloak
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
RewriteEngine on
#Disable HSTS
Header set Strict-Transport-Security "max-age=0; includeSubDomains;" env=HTTPS
#change https redirect_uri parameters to http
RewriteCond %{request_uri}?%{query_string} ^(.*)redirect_uri=https(.*)$
RewriteRule . %1redirect_uri=http%2 [NE,R=302]
#forward the requests on to keycloak
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
#Leave the items added by certbot alone
#There should be a ServerName option
#And a bunch of options to configure the location of the SSL cert files
#Along with an option to include an additional config file
</VirtualHost>
</IfModule>
Step 8) Restart Apache. Use sudo systemctl restart httpd (CentOs) or sudo systemctl restart apache2 (Ubuntu).
Step 9)
Before you have a chance to try to login to the server, since we told Keycloak to use http, we need to setup another method of connecting securely. This can be done by either installing a VPN service on the keycloak server, or by using SOCKS. I used a SOCKS proxy. In order to do this, you’ll first need to setup dynamic port forwarding.
ssh -N -D 9905 user@example.com
Or set it up via Putty.
All traffic sent to port 9905 will now be securely routed through an SSH tunnel to your server. Make sure you whitelist port 9905 on your server’s firewall.
Once you have dynamic port forwarding setup, you will need to setup your browser to use a SOCKS proxy on port 9905. Instructions here.
Step 10) You should now be able to login to the Keycloak admin portal. To connect to the website go to http://127.0.0.1, and the SOCKS proxy will take you to the admin console. Make sure you turn off the SOCKS proxy when you’re done as it does utilize your server’s resources, and will result in a slower internet speed for you if kept on.
Step 11) Don’t ask me how long it took me to figure all of this out.
If you’re getting this error because of a new realm you created
You can directly change the URL in the URL bar to get past this error. In the URL that you are redirected to (you may have to look in Chrome dev tools for this URL), change the realm from master to the one you just created, and if you are not using https, then make sure the redirect_uri is also using http.
If you’re getting this error because you’re trying to setup Keycloak on a public facing domain (not localhost)
Step 1)
Follow this documentation to setup a MySql database (link’s broken. If you find some good alternative documentation that works for you, feel free to update this link and remove this message). You may also need to refer to this documentation.
Step 2)
Run the command update REALM set ssl_required = 'NONE' where id = 'master';
Note:
At this point, you should technically be able to login, but version 4.0 of Keycloak is using https for the redirect uri even though we just turned off https support. Until Keycloak fixes this, we can get around this with a reverse proxy. A reverse proxy is something we will want to use anyhow to easily create SSL/TLS certificates without having to worry about Java keystores.
Note 2: After writing these instructions, Keycloak come out with their own proxy. They then stopped supporting it and recommended using oauth2 proxy instead. It is lacking some features the Keycloak proxy had, and an unoffical version of that proxy is still being maintained here. I haven’t tried using either of these proxies, but at this point, you might want to stop following my directions and use one of those instead.
Step 3) Install Apache. We will use Apache as a reverse proxy (I tried NGINX, but NGINX had some limitations that got in the way). See yum installing Apache (CentOs 7), and apt-get install Apache (Ubuntu 16), or find instructions for your specific distro.
Step 4) Run Apache
-
Use
sudo systemctl start httpd(CentOs) orsudo systemctl start apache2(Ubuntu) -
Use
sudo systemctl status httpd(CentOs) orsudo systemctl status apache2
(Ubuntu) to check if Apache is running. If you see in green text the wordsactive (running)or if the last entry readsStarted The Apache HTTP Server.then you’re good.
Step 5) We will establish a SSL connection with the reverse proxy, and then the reverse proxy will communicate to keyCloak over http. Because this http communication is happening on the same machine, you’re still secure. We can use Certbot to setup auto-renewing certificates.
If this type of encryption is not good enough, and your security policy requires end-to-end encryption, you will have to figure out how to setup SSL through WildFly, instead of using a reverse proxy.
Note:
I was never actually able to get https to work properly with the admin portal. Perhaps this may have just been a bug in the beta version of Keycloak 4.0 that I’m using. You’re suppose to be able to set the SSL level to only require it for external requests, but this did not seem to work, which is why we set https to none in step #2. From here on we will continue to use http over an SSH tunnel to manage the admin settings.
Step 6)
Whenever you try to visit the site via https, you will trigger an HSTS policy which will auto-force http requests to redirect to https. Follow these instructions to clear the HSTS rule from Chrome, and then for the time being, do not visit the https version of the site again.
Step 7)
Configure Apache. Add the virtual host config in the code block below. If you’ve never done this, then the first thing you’ll need to do is figure out where to add this config file.
On RHEL and some other distros
you’ll need to find where your httpd.conf or apache2.conf file is located. That config file should be loading virtual host config files from another folder such as conf.d.
If you are using Ubuntu or Debian,
your config files will be located in /etc/apache2/sites-available/ and you’ll have an extra step of needing to enable them by running the command sudo a2ensite name-of-your-conf-file.conf. That’ll create a symlink in /etc/apache2/sites-enabled/ which is where Apache looks for config files on Ubuntu/Debian (and remember the config file was placed in sites-available, slightly different).
All distros
Once you’ve found the config files, change out, or add, the following virtual host entries in your config files. Make sure you don’t override the already present SSL options that where generated by certbot. When done, your config file should look something like this.
<VirtualHost *:80>
RewriteEngine on
#change https redirect_uri parameters to http
RewriteCond %{request_uri}?%{query_string} ^(.*)redirect_uri=https(.*)$
RewriteRule . %1redirect_uri=http%2 [NE,R=302]
#uncomment to force https
#does not currently work
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI}
#forward the requests on to keycloak
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
RewriteEngine on
#Disable HSTS
Header set Strict-Transport-Security "max-age=0; includeSubDomains;" env=HTTPS
#change https redirect_uri parameters to http
RewriteCond %{request_uri}?%{query_string} ^(.*)redirect_uri=https(.*)$
RewriteRule . %1redirect_uri=http%2 [NE,R=302]
#forward the requests on to keycloak
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
#Leave the items added by certbot alone
#There should be a ServerName option
#And a bunch of options to configure the location of the SSL cert files
#Along with an option to include an additional config file
</VirtualHost>
</IfModule>
Step 8) Restart Apache. Use sudo systemctl restart httpd (CentOs) or sudo systemctl restart apache2 (Ubuntu).
Step 9)
Before you have a chance to try to login to the server, since we told Keycloak to use http, we need to setup another method of connecting securely. This can be done by either installing a VPN service on the keycloak server, or by using SOCKS. I used a SOCKS proxy. In order to do this, you’ll first need to setup dynamic port forwarding.
ssh -N -D 9905 user@example.com
Or set it up via Putty.
All traffic sent to port 9905 will now be securely routed through an SSH tunnel to your server. Make sure you whitelist port 9905 on your server’s firewall.
Once you have dynamic port forwarding setup, you will need to setup your browser to use a SOCKS proxy on port 9905. Instructions here.
Step 10) You should now be able to login to the Keycloak admin portal. To connect to the website go to http://127.0.0.1, and the SOCKS proxy will take you to the admin console. Make sure you turn off the SOCKS proxy when you’re done as it does utilize your server’s resources, and will result in a slower internet speed for you if kept on.
Step 11) Don’t ask me how long it took me to figure all of this out.
Симптомы
Рассмотрим следующий сценарий:
-
В любом месте с помощью Microsoft Forefront Unified Access Gateway 2010 публикации Microsoft Exchange OWA или Outlook.
-
Входа в систему для использования средства «Опубликовать календарь» Exchange совместный доступ к его календарю других внешних пользователей в формате iCal или формат HTML.
В этом случае внешних пользователей, подключенных через сервер шлюза единой доступа появляется следующее сообщение об ошибке при попытке подключиться к общему календарю:
Недопустимый путь URL-адреса
Причина
Это происходит потому, что функция «Опубликовать календарь» Exchange неправильно перенаправляет клиента на веб-страницу, которая создает URL-адрес для общего доступа к календарю и URL-адрес следующего вида:
http://webmail.company.com/owa/calendar/firstName.Name@company.com/Calendar/calendar.html
По умолчанию шаблон публикации единого доступа шлюза Exchange не включает набор URL-адресов, позволяющий для данного URL-адреса.
Решение
Эта проблема решена в накопительном пакете обновлений 1 для Microsoft Forefront единой Access Gateway 2010 Пакет обновления 4.
Примечание. Это исправление является эффективным для только недавно заново магистральные соединения или публикации.
Временное решение
Для временного решения этой проблемы для существующих магистральных или публикации, добавьте «/ owa/calendar/.*» задать URL-адрес канала связи.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».
Ссылки
Дополнительные сведения о терминологии , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.
Нужна дополнительная помощь?
Содержание
- Способы решения ошибки
- Способ 1: очистка куков
- Способ 2: проверка активности cookies
- Способ 3: чистка куков для текущего сайта
- Способ 4: отключение работы дополнений
- Способ 5: переустановка браузера
- Вопросы и ответы

В процессе использования браузера Mozilla Firefox могут возникать проблемы, которые выливаются в виде различных ошибок. В частности, сегодня речь пойдет об ошибке «Неверное перенаправление на странице».
Ошибка «Неверное перенаправление на странице» может появиться внезапно, проявляясь на некоторых сайтах. Как правило, подобная ошибка говорит о том, что в вашем браузере возникли проблемы с куками. Поэтому советы, описанные ниже, будут направлены именно на налаживание работы cookies.
Способы решения ошибки
Способ 1: очистка куков
Прежде всего, вам следует попробовать очистить куки в браузере Mozilla Firefox. Куки – это специальная информация, накапливаемая веб-обозревателем, которая со временем может вылиться в появление различных проблем. Часто простая очистка куков позволяет устранить ошибку «Неверное перенаправление на странице».
Читайте также: Как очистить куки в браузере Mozilla Firefox
Способ 2: проверка активности cookies
Следующим шагом мы проверим активность куков в Mozilla Firefox. Для этого щелкните по кнопке меню веб-обозревателя и пройдите к разделу «Настройки».

В левой области окна пройдите ко вкладке «Приватность». В блоке «История» выберите параметр «Firefox будет хранить ваши настройки хранения истории». Ниже появятся дополнительные пункты, среди которых вам необходимо поставить галочку около пункта «Принимать куки с сайтов».

Способ 3: чистка куков для текущего сайта
Подобный способ должен применяться для каждого сайта, при переходе на который отображается ошибка «Неверное перенаправление на странице».
Перейдите на проблемный сайт и левее от адреса страницы щелкните по иконке с замочком (или иной иконке). В открывшемся меню выберите иконку со стрелочкой.

В той же области окна отобразится дополнительное меню, в котором вам понадобится щелкнуть по кнопке «Подробнее».

На экране отобразится окно, в котором вам понадобится перейти ко вкладке «Защита», а затем щелкнуть по кнопке «Посмотреть куки».


На экране появится новое окно, в котором вам необходимо кликнуть по кнопке «Удалить все».

После выполнения данных действий перезагрузите страницу, а затем проверьте наличие ошибки.
Способ 4: отключение работы дополнений
Некоторые дополнения могут нарушать работу Mozilla Firefox, что выливается в появление различных ошибок. Поэтому в данном случае мы попробуем отключить работу дополнений, чтобы проверить, являются ли они причиной возникновения проблемы.
Для этого щелкните по кнопке меню веб-обозревателя и перейдите к разделу «Дополнения».

В левой области окна перейдите ко вкладке «Расширения». Здесь вам потребуется отключить работу всех дополнения браузера и, при необходимости, выполнить его перезапуск. После отключения работы дополнений проверьте наличие ошибки.

Если ошибка исчезла, вам потребуется выяснить какое дополнение (или дополнения) приводят к данной проблеме. Как только источник ошибки будет установлен, его потребуется удалить из браузера.
Способ 5: переустановка браузера
И, наконец, заключительный способ решения проблемы, который подразумевает собой полную переустановку веб-обозревателя.
Предварительно, если это необходимо, сделайте экспорт закладок, чтобы не потерять эти данные.
Читайте также: Как экспортировать закладки в браузере MozillaFirefox
Обратите внимание, что вам потребуется не просто удалить Mozilla Firefox, а сделать это полностью.
Читайте также: Как полностью удалить Mozilla Firefox с компьютера
Как только вы полностью избавитесь от Mozilla Firefox, можно приступать к установке новой версии. Как привило, свежая версия Mozilla Firefox, установленная с нуля, будет работать абсолютно корректно.
Это основные способы решения ошибки «Неверное перенаправление на странице». Если у вас есть свой опыт решения проблемы, расскажите о нем в комментариях.
Вы получаете сообщение об ошибке «Неверный URL» в Google Chrome? URL-адрес (унифицированный указатель ресурсов) — это адрес веб-страницы в Интернете. Многие пользователи Chrome жалуются на ошибку «неверный URL» при посещении некоторых веб-страниц. Полное сообщение об ошибке, которое отображается, выглядит следующим образом:
Страница, на которой вы находились, пытается отправить вас на недопустимый URL-адрес. Если вы не хотите посещать эту страницу, вы можете вернуться на предыдущую страницу.
Эта ошибка может возникнуть, если URL-адрес неверен, вы неправильно набрали URL-адрес или имеете дело с поврежденными данными просмотра (кэш, файлы cookie и т. д.).
Это также может произойти, когда мошенник злоупотребление функцией открытого перенаправления Google Search. Таким образом мошенники пытаются обманом заставить пользователей раскрыть свои учетные данные. Вы можете столкнуться с фишинговыми URL-адресами, которые на первый взгляд выглядят заслуживающими доверия. Эти URL-адреса указывают на Google. Однако краткий осмотр этих URL-адресов показывает, что они добавляют HTTP-параметр открытого перенаправления поиска Google. Таким образом мошенники пытаются перенаправить пользователей на вредоносные фишинговые веб-сайты.
Если вы получили сообщение об ошибке Страница, на которой вы находились, пытается отправить вас по неверному URL-адресу. в Google Chrome вы можете использовать следующие исправления для устранения ошибки:
- Начните с основных исправлений.
- Выйдите из своей учетной записи Google.
- Удалите кеш браузера и куки.
- Отключить или удалить расширение браузера.
- Убедитесь, что у вас есть необходимые права доступа для просмотра веб-страницы.
- Сбросьте или переустановите Chrome.
- Переключитесь на другой веб-браузер, например Edge, Firefox и т. д.
Прежде чем продолжить, сначала проверьте правильность введенного вами URL-адреса и является ли URL-адрес, на который вы перенаправляетесь, законным, поскольку это может быть попыткой фишинга, как описано выше.
1]Начните с основных исправлений
Вот некоторые стандартные методы, которые вы можете использовать для исправления ошибки:
- Попробуйте перезагрузить веб-страницу пару раз и посмотрите, исправлена ли ошибка.
- Перезапустите Google Chrome, а затем попробуйте посетить веб-страницу, возвращающую неверный URL-адрес.
- Перезагрузите компьютер, а затем откройте Chrome, чтобы проверить, возникает ли эта ошибка при попытке посетить ту же веб-страницу.
- Проверьте URL-адрес веб-страницы, которую вы пытаетесь открыть, и убедитесь, что он правильный.
- Убедитесь, что веб-страница, которую вы пытаетесь посетить, существует и не удалена.
Читайте: исправьте ошибку STATUS INVALID IMAGE HASH в Google Chrome или Microsoft Edge.
2]Выйдите из своей учетной записи Google
Следующее, что вы можете сделать, это выйти из своей учетной записи Google из Chrome, а затем перезапустить веб-браузер. При следующем запуске снова войдите в свою учетную запись, а затем посетите веб-страницу с ошибкой «неверный URL». В вашем профиле может быть временный сбой, вызывающий ошибку. Итак, в этом случае этот метод должен работать для вас.
Вы также можете использовать другую учетную запись Google, чтобы войти в Chrome и проверить, устранена ли ошибка или нет. Или вы можете создать новую учетную запись Google и войти в нее, чтобы увидеть, исправлена ли ошибка «неверный URL-адрес» или нет.
См.: Исправление HTTP ERROR 431 в Google Chrome.
3]Удалите кеш браузера и файлы cookie.
Вполне возможно, что причиной данной ошибки являются поврежденные и неверные данные просмотра, включая кеш и файлы cookie. Старые и объемные данные просмотра вызывают ошибки и проблемы при посещении веб-сайта или использовании онлайн-инструмента. Следовательно, рекомендуется время от времени очищать кеш браузера и готовить, чтобы избежать подобных проблем.
Вот шаги, чтобы очистить кеш и файлы cookie в браузере Google Chrome:
- Сначала откройте Google Chrome, а затем в правом верхнем углу нажмите кнопку меню с тремя точками.
- В появившемся меню перейдите в раздел «Дополнительные инструменты» и выберите параметр «Очистить данные просмотра».
- Появится диалоговое окно «Очистить данные просмотра»; выберите Диапазон времени как Все время.
- После этого отметьте галочкой параметры «Файлы cookie и другие данные сайта» и «Кэшированные изображения и файлы». Если вы хотите очистить историю просмотров, историю загрузок и другие данные просмотра, вы тоже можете это сделать.
- Затем нажмите кнопку «Очистить данные», и Chrome удалит выбранные данные из вашего веб-браузера.
- Когда процесс будет завершен, снова откройте Google Chrome и попробуйте посетить предыдущую веб-страницу, которая выдавала ошибку «неверный URL».
Читать . Как исправить ошибки загрузки файлов в браузере Google Chrome?
4]Отключить или удалить расширение браузера
Возможно, в вашем браузере установлены проблемные или подозрительные расширения, вызывающие данную ошибку. Если вы начали сталкиваться с этой ошибкой после недавнего добавления расширения, основным виновником может быть расширение. Следовательно, если сценарий применим, вы можете отключить или удалить расширения браузера, чтобы исправить возникшую ошибку. Вот как это сделать:
- Во-первых, перейдите в Google Chrome и нажмите кнопку меню с тремя точками в правом верхнем углу.
- Теперь нажмите «Дополнительные инструменты», а затем выберите «Расширения». Откроется страница расширений, где вы сможете получить доступ ко всем установленным вами веб-расширениям.
- После этого найдите проблемное расширение и отключите связанный с ним переключатель.
- Если вы хотите удалить расширение из своего браузера, нажмите кнопку «Удалить», а затем нажмите кнопку «Удалить» в следующем запросе подтверждения.
- Когда закончите, перезапустите Google Chrome и проверьте, устранена ли ошибка.
См.: Исправление ошибки ERR_CONNECTION_RESET в браузере Chrome.
5]Убедитесь, что у вас есть необходимые права доступа для просмотра веб-страницы.
Возможно, у вас нет необходимых прав доступа для просмотра веб-страницы, и поэтому вы получаете сообщение об ошибке «неверный URL». Чаще всего это происходит при посещении форм, опросов или веб-страниц для решения рабочих задач. Следовательно, вам необходимо убедиться, что у вас есть необходимое разрешение на доступ к веб-странице, которую вы пытаетесь посетить в Google Chrome.
Читать: остановить автоматическое открытие нежелательных веб-сайтов при запуске
6]Сбросить или переустановить Google Chrome
Сообщение об ошибке «Страница, на которой вы были, пытается отправить вас на недопустимый URL-адрес» в Chrome может появиться, если есть поврежденные установочные файлы. Следовательно, вы можете попробовать переустановить Google Chrome, чтобы исправить ошибку. Для этого вам нужно будет сначала удалить браузер. Но обязательно включите параметр синхронизации данных, если вы не хотите потерять данные, сохраненные в вашем профиле.
Чтобы удалить Google Chrome, откройте «Настройки» с помощью Win+I и выберите «Приложения» > «Установленные приложения». Теперь прокрутите вниз до приложения Google Chrome и нажмите кнопку меню с тремя точками. Затем выберите опцию «Удалить» и следуйте инструкциям, чтобы удалить браузер с вашего ПК. После этого загрузите последнюю версию Google Chrome онлайн и установите ее на свой компьютер. Надеюсь, вы больше не столкнетесь с той же ошибкой.
Читать . Прокси-сервер отказывается от подключения в Chrome или Firefox.
7]Переключитесь на другой веб-браузер, например Edge, Firefox и т. д.
Если ни одно из приведенных выше решений не помогло вам, переключитесь на другой веб-браузер, чтобы открыть проблемные веб-страницы. Для Windows 11/10 доступно несколько бесплатных веб-браузеров. Вы можете использовать веб-браузер Windows по умолчанию, например, Microsoft Edge. Или вы можете попробовать Mozilla Firefox, Opera и другие веб-браузеры. Надеюсь, этот обходной путь исправит ошибку для вас.
Прочтите: меры предосторожности, которые необходимо предпринять, прежде чем переходить по веб-ссылкам
Что означает неверный URL?
Недействительный URL-адрес в основном означает, что введенный вами URL-адрес содержит опечатки или содержит пробелы или символы. Недопустимый URL-адрес также может означать, что веб-страница удалена или перемещена по другому URL-адресу. Если вы получаете сообщение об ошибке «Неверный URL-адрес» в Chrome, убедитесь, что введенный вами URL-адрес правильный. Если вы ввели точный URL-адрес, используйте исправления, которые мы упомянули в этом посте, чтобы исправить ошибку.
Почему URL-адрес не открывается в Chrome?
Если веб-страница не загружается или не открывается в Google Chrome, возможно, у вас возникла проблема с подключением к Интернету. Кроме того, поврежденный и устаревший кеш и файлы cookie могут быть причиной того, что вы не можете загрузить определенные веб-страницы в Chrome. Проблема также может возникнуть, если вы используете устаревшую версию браузера или его установка повреждена.
Как исправить неверный URL?
Чтобы исправить «Неверный» в Google Chrome, удалите кеш веб-браузера и файлы cookie. Кроме того, попробуйте отключить или удалить проблемные веб-расширения из браузера. Если это не сработает, обновите Google Chrome и переустановите веб-браузер, чтобы исправить ошибку. Мы подробно упомянули все эти рабочие исправления, поэтому ознакомьтесь с ними.
#docker #oauth-2.0 #keycloak
Вопрос:
[Правка-1] Добавьте область в конфигурацию oauth2, добавьте службу grafana, удалите oauth-keycloak-signin . Конфигурации указаны по этой ссылке
[ОБНОВЛЕНИЕ] Я могу войти на страницу блокировки ключей, но она не смогла направить меня в службу Grafana. Посмотрел журналы OAuth2, что-то странное, токен доступа, сгенерированный с помощью ключа, был проверен на Github, а не для ключа:))) — > >Это было вызвано отсутствием конфигурации oauth validate_url.
Solution :
- 'traefik.http.middlewares.oauth-keycloak.forwardauth.address=http://oauth-keycloak:4185/oauth2/auth'
Журнал прокси-сервера OAuth2
paddy_oauth-keycloak.1.nd9v50gfv9kc@staging | 123.28.110.207 - 411d7575-fb97-42ca-87ed-d57cad683b31 - - [2021/09/30 02:04:53] grafana.my-domain.com GET - "/oauth2/start?rd=https://grafana.my-domain.com/" HTTP/1.1 "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36" 302 419 0.000
paddy_oauth-keycloak.1.nd9v50gfv9kc@staging | [2021/09/30 02:05:00] [internal_util.go:74] token validation request failed: status 400 - {"error":"invalid_request","error_description":"Token not provided"}
paddy_oauth-keycloak.1.nd9v50gfv9kc@staging | [2021/09/30 02:05:00] [internal_util.go:69] 400 GET https://keycloak.my-domain.com/auth/realms/staging/protocol/openid-connect/userinfo?access_token=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYa1NjbzduRjlaTUpiWDRXVU5mTlhJS2FwOG9ZMHZ1THVZZU1SUk9EQ1J3In0.eyJleHAiOjE2MzI5Njc4MDAsImlhdCI6MTYzMjk2NzUwMCwiYXV0aF90aW1lIjoxNjMyOTY3NDk5LCJqdGkiOiI4NGJjZjdiNC0yN2YzLTQ4NDktYjUzNi05OTNkNTczNzA5OWYiLCJpc3MiOiJodHRwczovL2tleWNsb2FrLnN0YWdpbmcucHJlY2lzaW9uYWcub3JnL2F1dGgvcmVhbG1zL3N0YWdpbmciLCJhdWQiOiJhY2NvdW50Iiwic3ViIjoiNzk1NjE1YWUtN2VkNi00MWI3LWE5YWUtMjBkZmZhMTc1NjBhIiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYXV0aGVudGljYXRpb24iLCJzZXNzaW9uX3N0YXRlIjoiZTVjM2FkMDMtNzhmNi00ZmE4LThhOTgtZTdkYjk1YjZiNmEzIiwiYWNyIjoiMSIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJvZmZsaW5lX2FjY2VzcyIsImRlZmF1bHQtcm9sZXMtc3RhZ2luZyIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiYWNjb3VudCI6eyJyb2xlcyI6WyJtYW5hZ2UtYWNjb3VudCIsIm1hbmFnZS1hY2NvdW5... {"error":"invalid_request","error_description":"Token not provided"}
paddy_oauth-keycloak.1.nd9v50gfv9kc@staging | 123.28.110.207 - 39bea317-002b-4366-858c-01aa6f6901b6 - dathuynh@my-domain.com [2021/09/30 02:05:00] [AuthSuccess] Authenticated via OAuth2: Session{email:dathuynh@my-domain.com user: PreferredUsername: token:true groups:[/pader]}
Я настраиваю keycloak и oauth2 для аутентификации в своей системе. Система работает в режиме docker swarm и использует обратный прокси-сервер traefik. Я следовал этому руководству по настройке контейнера oauth2: https://oauth2-proxy.github.io/oauth2-proxy/docs/configuration/oauth_provider/#keycloak-auth-provider
Я создал нового клиента в области «разработка», с допустимым URL-адресом перенаправления https://oauth-keycloak.my-domain.com/oauth2/callback (это URL-адрес Oauth), использовал аутентификацию переадресации traefik для перенаправления запроса на ключ, если он не прошел проверку подлинности.
Я получил Invalid parameter: redirect_uri за 2 случая:
- Я получил доступ к Графане, и запрос был перенаправлен в Keycloak
- Я пытаюсь получить доступ к этой ссылке в конфигурации OAuth
https://oauth-keycloak.my-domain.com/auth/realms/development/protocol/openid-connect/auth.
Я искал и пробовал некоторые предложения, но они не сработали для меня. Надеюсь, вы, ребята, сможете помочь. Я действительно оценил это.
Вот моя конфигурация docker swarm:
keycloak:
image: quay.io/keycloak/keycloak:15.0.2
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.keycloak.rule=Host(`keycloak.my-domain.com`)"
- "traefik.http.routers.keycloak.entrypoints=websecure"
- "traefik.http.routers.keycloak.tls=true"
- "traefik.http.routers.keycloak.tls.certresolver=leresolver"
# Set up service
- "traefik.http.routers.keycloak.service=keycloak-svc"
- "traefik.http.services.keycloak-svc.loadbalancer.server.port=8080"
environment:
- "DB_VENDOR=POSTGRES"
- "DB_ADDR=postgis"
- "DB_DATABASE=${POSTGRES_DB}"
- "DB_USER=${POSTGRES_USER}"
- "DB_PASSWORD=${POSTGRES_PASSWORD}"
- "KEYCLOAK_USER="
- "KEYCLOAK_PASSWORD="
- "PROXY_ADDRESS_FORWARDING=true"
- "KEYCLOAK_LOGLEVEL=DEBUG" # DEBUG, ERROR, INFO
grafana:
image: grafana/grafana
deploy:
resources:
limits:
memory: 256M
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`grafana.my-domain.com`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls=true"
- "traefik.http.routers.grafana.tls.certresolver=leresolver"
# Basic HTTP authentication
- "traefik.http.routers.grafana.middlewares=oauth-keycloak"
# Set up service
- "traefik.http.services.grafana-svc.loadbalancer.server.port=3000"
- "traefik.http.routers.grafana.service=grafana-svc"
environment:
- GF_SECURITY_ADMIN_USER=my-username
- GF_SECURITY_ADMIN_PASSWORD=my-pasword
- GF_USERS_ALLOW_SIGN_UP=true
volumes:
- "/home/app/grafana:/var/lib/grafana"
oauth-keycloak:
image: quay.io/oauth2-proxy/oauth2-proxy
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.oauth-keycloak.rule=Host(`oauth-keycloak.my-domain.com`) || PathPrefix(`/oauth2`)"
- "traefik.http.routers.oauth-keycloak.entrypoints=websecure"
- "traefik.http.routers.oauth-keycloak.tls=true"
- "traefik.http.routers.oauth-keycloak.tls.certresolver=leresolver"
# Set up service
- "traefik.http.routers.oauth-keycloak.service=oauth-keycloak-svc"
- "traefik.http.services.oauth-keycloak-svc.loadbalancer.server.port=4185"
# Set up middlewares
- 'traefik.http.middlewares.oauth-keycloak.forwardauth.address=http://oauth-keycloak:4185'
- 'traefik.http.middlewares.oauth-keycloak.forwardauth.trustForwardHeader=true'
- 'traefik.http.middlewares.oauth-keycloak.forwardauth.authResponseHeaders=X-Forwarded-User'
# - "traefik.http.middlewares.oauth-keycloak-signin.errors.service=oauth-keycloak-svc"
# - "traefik.http.middlewares.oauth-keycloak-signin.errors.status=401-403"
# - "traefik.http.middlewares.oauth-keycloak-signin.errors.query=/oauth2/sign_in"
environment:
OAUTH2_PROXY_CLIENT_ID: 'development'
OAUTH2_PROXY_CLIENT_SECRET: ''
OAUTH2_PROXY_PROVIDER: 'keycloak'
OAUTH2_PROXY_SCOPE: 'profile email address phone'
OAUTH2_PROXY_LOGIN_URL: 'https://keycloak.my-domain.com/auth/realms/development/protocol/openid-connect/auth'
OAUTH2_PROXY_REDEEM_URL: 'https://keycloak.my-domain.com/auth/realms/development/protocol/openid-connect/token'
OAUTH2_PROXY_PROFILE_URL: 'https://keycloak.my-domain.com/auth/realms/development/protocol/openid-connect/userinfo'
OAUTH2_PROXY_VALIDATE_URL: 'https://keycloak.my-domain.com/auth/realms/development/protocol/openid-connect/userinfo'
OAUTH2_PROXY_COOKIE_DOMAINS: 'my-domain.com'
OAUTH2_PROXY_HTTP_ADDRESS: '0.0.0.0:4185'
OAUTH2_PROXY_COOKIE_REFRESH: '1h'
OAUTH2_PROXY_COOKIE_SECURE: 'false'
OAUTH2_PROXY_COOKIE_SECRET: '0Y18nYVtNLzKQroYQpi0jw=='
OAUTH2_PROXY_EMAIL_DOMAINS: 'my-domain.com'
OAUTH2_PROXY_REVERSE_PROXY: 'true'
OAUTH2_PROXY_WHITELIST_DOMAINS: 'my-domain.com'
OAUTH2_PROXY_SHOW_DEBUG_ON_ERROR: 'true'
Комментарии:
1. Пожалуйста, укажите полный URL-адрес страницы, на которой вы видите
Invalid parameter: redirect_uri.2. Привет @JanGaraj, я обновил URL-страницу
Ответ №1:
Вы настроили допустимый URI перенаправления https://oauth-keycloak.my-domain.com/oauth2/callback , как вы сказали. В случае доступа к grafana вместо этого должен быть ваш uri перенаправления https://grafana.my-domain.com/oauth2/callback . Вам также нужно будет добавить это в список допустимых URI перенаправления.
Комментарии:
1. Спасибо вам за ваши предложения. Я добавил URL-адрес Grafana, после чего веб-страница возвращает 403 с
Login Failed: The upstream identity provider returned an error: invalid_scope. Мне не хватает каких-либо конфигураций области в ключевом замкеClient Scopes?2. Похоже, что Графана инициирует вход с
scope=apiпомощью . Вам нужно будет добавить область клиентаapiв Keycloak и добавить ее в свой клиент (authentication?) как необязательную или по умолчанию. Возможно, вы также захотите рассмотреть возможность создания отдельного клиента для Grafana в Keycloak.3. @tandathuynh148 Правильно настройте Графану grafana.com/docs/grafana/latest/auth/generic-oauth Это зависит от того, как используемый клиент настроил области в замке ключей, но обычно это должно быть
scope = openid profile email4. Графана — всего лишь пример. В моей системе есть множество служб, таких как pgadmin, панель мониторинга и другие службы сборки, поэтому мне нужен единый вход и управление пользователями, например, кто может получить доступ к определенной службе, а кто ограничен. Действительно спасибо за ваш вывод, я постараюсь выяснить, что вызывает ошибку 403
5. Я думаю, вы неправильно его сконфигурировали. Это обращение к keycloak.org … который размещен на github. Я думаю, вам нужно заменить эту конфигурацию URL-адресом вашего фактического экземпляра ключа.
Я пытаюсь использовать keycloak с реагирующим приложением, это моя текущая конфигурация клиента… Я сделал это в основной области
Это моя конфигурация keycloak
export const keycloakConfig = {
"realm": "master",
"auth-server-url": "http://localhost:8180/",
"ssl-required": "external",
"resource": "demo",
"public-client": true,
"confidential-port": 0,
"clientId" : "demo",
"url" : "http://localhost:8180/"
};
Я основывал свой код на это репо
Теперь… я могу без проблем войти в свое приложение, и отображаемый URL-адрес:
http://localhost:8180/realms/master/protocol/openid-connect/auth?client_id=demo&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2F&state=ba9daf04-ffdb-4ad3-b912-8be846f0684b&response_mode=fragment&response_type=code&scope=openid&nonce=558d71b7-2c66-44f8-9297-84694dc571a8
Но когда я пытаюсь выйти из системы, я получаю сообщение
Invalid parameter: redirect_uri
URL выхода это
http://localhost:8180/realms/master/protocol/openid-connect/logout?redirect_uri=http%3A%2F%2Flocalhost%3A3000%2F
Я не уверен, что моя конфигурация клиента верна, потому что у нее есть несколько отсутствующих параметров почти во всех учебниках, которые я нашел.
Знаете, в чем здесь может быть проблема?
Спасибо вам, ребята