Product-apim: Можно войти на портал разработчиков, но не в издатель

Созданный на 6 февр. 2020  ·  8Комментарии  ·  Источник: wso2/product-apim

когда я пытаюсь войти в систему издателя (https: // localhost: 9443 / publisher), я получаю -

invalid_client

Не удается найти приложение, связанное с данным ключом потребителя: undefined

Нет проблем со входом на портал разработчиков.

Может ли кто-нибудь подсказать, в чем может быть причина.

Спасибо

TypQuestion

Самый полезный комментарий

Я также столкнулся с похожей проблемой. Для меня эта проблема перекрывалась с # 7254. Это заняло некоторое время, чтобы разобраться и исправить.

Я обнаружил следующие ошибки:

На странице входа в /devportal/ я видел:

  • Сообщение об ошибке invalid_client: Cannot find an application associated with the given consumer key: ...
  • Красное окно с сообщением об ошибке: произошла непредвиденная ошибка.
  • После страницы входа появляется пустая белая страница с кодом состояния HTTP 500.

В контейнере api-manager docker я видел:

  • ERROR - DefaultRequestCoordinator Context does not exist. Probably due to invalidated cache.
  • ERROR - WebAppManager org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (/publisher/services/login/login_callback.jag#53)

Причина, по-видимому, в том, что в Carbon => Service Providers => admin_admin_store => Edit => Inbound Authentication Configuration => OAuth/OpenID Connect Configuration атрибуты client_secret и / или client_id изменились.

Решением было сделать следующее:

  • Проверьте этот SQL SELECT * FROM public.am_system_apps; и убедитесь, что client_secret и / или client_id верны. Если нет, установите для этих значений значения, указанные на странице поставщика услуг Carbon admin_admin_store .
  • Проверьте этот SQL SELECT * FROM public.idn_oauth_consumer_apps; и убедитесь, что client_secret и / или client_id верны. Если нет, установите для этих значений значения, указанные на странице поставщика услуг Carbon admin_admin_store .
  • Я использовал Postgres, и мне пришлось очистить кеш базы данных (или что-то в этом роде), используя VACUUM (FULL) wso2;
  • Затем перейдите на портал разработчика, удалите все файлы cookie, данные локального хранилища и т. Д.
  • Попробуйте войти сейчас, и он должен работать

Достаточно сказать - это безумный объем работы, который нужно выполнить только потому, что вы нажали Regenerate secret в панели администратора ... И что еще хуже, якобы я должен был знать, чтобы не нажимать эту кнопку. И что еще хуже - похоже, это недокументировано (или, может быть, я не нашел этого в документации).

Все 8 Комментарий

@ kharsha64
Можете попробовать с частным браузером и проверить?

@ Krishanx92
Привет,
Я тоже пробовал это, но получаю ту же ошибку для издателя.

Спасибо

Привет @ kharsha64!
Вы удалили приложение SP, созданное с помощью консоли управления. Пример: приложение SP по умолчанию admin_apim_publisher.

Screenshot 2020-02-10 at 10 04 43

Ошибка «Не удается найти приложение, связанное с данным ключом потребителя: undefined» может возникать из-за вышеуказанной проблемы, а также из-за проверки старого кэшированного ключа потребителя. Поэтому также попробуйте очистить кеш в браузере перед попыткой.

Привет,
Нет, я не удалял SP. Я использую SP по умолчанию, которые поставляются с приложением.
Пробовали очистить кеш браузера, а также пробовали это с разными браузерами.
Но тщетно. Та же ошибка.

Спасибо

Привет, войдите в углеродную консоль и перейдите к поставщикам услуг, нажмите «Изменить» в « admin_publisher » и разверните « Конфигурация входящей аутентификации» -> « OAuth / OpenID Connect» .
Screenshot 2020-02-11 at 10 21 50

Затем сравните идентификатор клиента приложения SP OAuth с файлом cookie CLIENT_ID в браузере.
Screenshot 2020-02-11 at 10 20 21

Если оба они одинаковы, то вышеуказанная проблема возникнуть не должна, если они разные, попробуйте удалить файлы cookie в браузере и снова войти в систему на сайте издателя.

Привет,
Я заметил, что файл cookie CLIENT_ID не определен.
Удалил файл cookie и повторил попытку.
Но CLIENT_ID возвращается как неопределенный.

Привет @CrowleyRajapakse
Я удалил поставщика услуг издателя, а затем импортировал поставщика услуг.
Теперь ключ потребителя в Carbon отличается от того, который существует в файле cookie. Итак, я удалил файл cookie и попытался загрузить страницу издателя, но она загружается.

Cannot find an application associated with the given consumer key :  ***old consumer key***

И это потому, что в файле cookie появляется старый ключ потребителя .

Пожалуйста, помогите мне решить эту проблему.

Я также столкнулся с похожей проблемой. Для меня эта проблема перекрывалась с # 7254. Это заняло некоторое время, чтобы разобраться и исправить.

Я обнаружил следующие ошибки:

На странице входа в /devportal/ я видел:

  • Сообщение об ошибке invalid_client: Cannot find an application associated with the given consumer key: ...
  • Красное окно с сообщением об ошибке: произошла непредвиденная ошибка.
  • После страницы входа появляется пустая белая страница с кодом состояния HTTP 500.

В контейнере api-manager docker я видел:

  • ERROR - DefaultRequestCoordinator Context does not exist. Probably due to invalidated cache.
  • ERROR - WebAppManager org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (/publisher/services/login/login_callback.jag#53)

Причина, по-видимому, в том, что в Carbon => Service Providers => admin_admin_store => Edit => Inbound Authentication Configuration => OAuth/OpenID Connect Configuration атрибуты client_secret и / или client_id изменились.

Решением было сделать следующее:

  • Проверьте этот SQL SELECT * FROM public.am_system_apps; и убедитесь, что client_secret и / или client_id верны. Если нет, установите для этих значений значения, указанные на странице поставщика услуг Carbon admin_admin_store .
  • Проверьте этот SQL SELECT * FROM public.idn_oauth_consumer_apps; и убедитесь, что client_secret и / или client_id верны. Если нет, установите для этих значений значения, указанные на странице поставщика услуг Carbon admin_admin_store .
  • Я использовал Postgres, и мне пришлось очистить кеш базы данных (или что-то в этом роде), используя VACUUM (FULL) wso2;
  • Затем перейдите на портал разработчика, удалите все файлы cookie, данные локального хранилища и т. Д.
  • Попробуйте войти сейчас, и он должен работать

Достаточно сказать - это безумный объем работы, который нужно выполнить только потому, что вы нажали Regenerate secret в панели администратора ... И что еще хуже, якобы я должен был знать, чтобы не нажимать эту кнопку. И что еще хуже - похоже, это недокументировано (или, может быть, я не нашел этого в документации).

Была ли эта страница полезной?
0 / 5 - 0 рейтинги