Ошибка oidc-client в IdentityServer4 - несоответствие полномочий в настройках и состоянии входа

У меня есть веб-приложение IdentityServer4 и C # .NET Core за обратным прокси-сервером NGINX:

https://id.local.domain -> http://id-local

https://web.local.domain -> http://web-local

Я могу войти и ввести свои учетные данные на странице входа в ID4, но после перенаправления обратно на мою страницу / account / callback из ID4 появляется следующая ошибка JavaScript:

Ошибка: несоответствие полномочий в настройках и состоянии входа

Это проблема с моим вызовом oidc, настройкой NGINX + ID4 или чем-то еще? Я пробовал использовать:

services.AddIdentityServer(options =>
{
options.PublicOrigin = "https://id.local.domain";
…

Это правильный URL-адрес для ввода? Нужно ли мне использовать options.IssuerUri вместо /?


person Gavin McKay    schedule 24.10.2018    source источник
comment
конфигурации, такие как URL-адреса перенаправления и clientId, должны быть одинаковыми между вашим javascript-клиентом и вашим сервером идентификации, убедитесь, что конфигурация такая же и вы разрешили корневой URL-адрес вашего клиента в cors   -  person Fateh Mohamed    schedule 25.10.2018
comment
Похоже, это была проблема в нескольких местах. Я просмотрел и проверил, все ли соответствует, а также конфигурацию CORS для всех служб. Некоторые дополнительные элементы, которые я изменил, обеспечивали одинаковый корпус URL CORS, удаление пробелов и т. Д. Кажется, это помогло - спасибо !!! Если вы хотите разместить свой пост в качестве ответа, я отмечу его как правильное.   -  person Gavin McKay    schedule 25.10.2018


Ответы (1)


сервер идентификации не будет принимать или разрешать клиентов только в том случае, если конфигурация, отправленная от клиентов, совпадает с его конфигурацией

  • те же URL-адреса перенаправления
  • тот же ClientID
  • тот же ClientRoot (URL-адрес клиентской базы должен быть разрешен в cors)
person Fateh Mohamed    schedule 25.10.2018