OID C, core. js: 4002 ERROR Ошибка: Uncaught (в обещании): Ошибка: не найдено соответствующее состояние в хранилище - PullRequest
0 голосов
/ 15 марта 2020

У меня проблема с потоком аутентификации OID C, я могу войти через моего провайдера идентификации (IdentityServer 4), и токен JWT возвращает userObject в мое приложение, однако, когда я ссылаюсь sh мой приложение получит следующую ошибку:

core. js: 4002 Ошибка: ошибка: не найдена (в обещании): ошибка: в хранилище не найдено соответствующее состояние Ошибка: в хранилище не найдено соответствующее состояние в oid c -client.min. js: 1 в ZoneDelegate.pu sh .. / node_modules / zone.js / dist / zone. js .ZoneDelegate.invoke (zone. js: 391) в Object.onInvoke (core. js: 26256) в ZoneDelegate.pu sh .. / node_modules / zone.js / dist / zone. js .ZoneDelegate.invoke (zone. js: 390) в Zone.pu sh .. / node_modules / zone.js / dist / zone. js .Zone.run (zone. js: 150) в зоне. js: 910 в ZoneDelegate.pu sh .. / node_modules /zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone. js: 423) в Object.onInvokeTask (core. js: 26247) в ZoneDelegate.pu sh .. / node_modules / zone.js / расстояние / зона. js .ZoneDelegate.invokeTask (zone. js: 422) в Zone.pu sh .. / node_modules / zone.js / dist / zone. js .Zone.runTask (zone. js: 195 ) в resolPromise (зона. js: 852) в resolPromise (зона. js: 809) в зоне. js: 913 в ZoneDelegate.pu sh .. / node_modules / zone.js / dist / zone . js .ZoneDelegate.invokeTask (zone. js: 423) в Object.onInvokeTask (core. js: 26247) в ZoneDelegate.pu sh .. / node_modules / zone.js / dist / zone. js .ZoneDelegate.invokeTask (zone. js: 422) в Zone.pu sh .. / node_modules / zone.js / dist / zone. js .Zone.runTask (zone. js: 195) at СтокМикроТаскQueue (зона. js: 601)

Я нашел статью о стековом потоке, касающуюся этой проблемы, в которой говорится, что она связана с настройками времени компьютера, на котором работает браузер (по-видимому, потому что время истечения токена больше не является правильным), однако я установил свои настройки времени машины на Automatic c, поэтому я не думаю, что это проблема. Я несколько растерялся, что может быть причиной этой проблемы в потоке, так как нормальная аутентификация работает и токены присутствуют в хранилище браузера. Если кто-то может пролить некоторый свет на действие, которое клиент OID C выполняет при вызове функции getUser () в UserManager.

Следующий код get выполняется, когда пользователь уже вошел в систему, и я refre sh страница.

isLoggedIn(): Promise<boolean> {
    return this._userManager.getUser().then(user => {
      const userCurrent = !!user && !user.expired;
      if (userCurrent) {
        this.user$.next(user);
      } else {
        this.user$.next(null);
      }

      return userCurrent;
    });
  }

example of the token in localStorage:
id: "fa5c5393c4a44b16837e4f564c56a365"
created: 1584277644
request_type: "si:s"
code_verifier: "6f2a86723f55447ebeb1cca50af6f76b52859054f7cb4cd3afcfe5254e9a792f963c17a46e154343967f62b14e7f9722"
redirect_uri: "http://localhost:4200/assets/silent-callback.html"
authority: "https://localhost:44379/"
client_id: "spa-client"
response_mode: "query"
scope: "openid profile api"
extraTokenParams: {}

example of the token in Session storage
id_token: "eyJhbGciOiJSUzI1NiIsImtpZCI6Ii1KSllJdGhidEQ1bmdURG1Td2JjVmciLCJ0eXAiOiJKV1QifQ.eyJuYmYiOjE1ODQyNzcxMDMsImV4cCI6MTU4NDI3NzQwMywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzNzkiLCJhdWQiOiJzcGEtY2xpZW50IiwiaWF0IjoxNTg0Mjc3MTAzLCJhdF9oYXNoIjoiZk0wYUF3YUpRb0ZreVYzb2xYNlNWUSIsInNfaGFzaCI6IjhadVlJdk9Cck40OXRjeWFPaFk3cHciLCJzaWQiOiJHbHVVTDdGZzVZbmlfNlRxcnRBeGFRIiwic3ViIjoiY2MwMTI2OTQtNGU5Yi00ZjcxLWE0OWItNDFhZWY2OWVjOGNiIiwiYXV0aF90aW1lIjoxNTg0MjY5MjI4LCJpZHAiOiJsb2NhbCIsImFtciI6WyJwd2QiXX0.kcBKMhuQsCrRWg8VH8yCZ4_5oMXTNDQwKM4Fg-e4QPkh0IlVmpdgneAazawXe3ojuSqcZm14O7L6WzSA1TBYOlWI6X0Osl-SxIN96ay5MmYs6qyRURbYNcCtlvRUFMY-6u9nTMrS7h-W2kr1PCF-lolpr8jViXKo1-tIB3vxUCXsgNiZcdcgpxiNIjaMd6t0jgdpGEm51NVDewYp5VzqrfhBRAY8FPhy7Wc2Zl-mMjxZ2YC3z-gf3TVJl5MK8iwx3lLY1lUlFalLgZJCtHEA3R8tPrfYx7f64wfLOQ1fkx6SdcqT30PCBrusQPkqquq-sy2P7qY6sSlVGZtN2O5VPw"
session_state: "MfoLa3dMUAKh79AMx8S0xlHemzY0ieRdYk2WTVO0QVQ.UnAX5icbh4njcczlwtbGYw"
access_token: "eyJhbGciOiJSUzI1NiIsImtpZCI6Ii1KSllJdGhidEQ1bmdURG1Td2JjVmciLCJ0eXAiOiJhdCtqd3QifQ.eyJuYmYiOjE1ODQyNzcxMDMsImV4cCI6MTU4NDI3NzcwMywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzNzkiLCJhdWQiOiJhcGkiLCJjbGllbnRfaWQiOiJzcGEtY2xpZW50Iiwic3ViIjoiY2MwMTI2OTQtNGU5Yi00ZjcxLWE0OWItNDFhZWY2OWVjOGNiIiwiYXV0aF90aW1lIjoxNTg0MjY5MjI4LCJpZHAiOiJsb2NhbCIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJhcGkiXSwiYW1yIjpbInB3ZCJdfQ.UAyMaVpsimUCRKS1ahqDnbywl0h3WrfuHNu83spdl9q6kb-IwecHyHnSqjHVElcDQzxZBrW1XPQycsx0BMcDA1OMN9vsmagpescW2BxZuojy2sD0FHeVoTrL2tQVzvXEsfPzW7v7woUw1x13UPxoukIMfn_yBQGITRzsEWPfdp5IaWoLOi9zTNsqPXmr5xZU4CAF-yIOWmQKrOVsKjWig5AZR1cA4wPVYVmnCNHKPmEPXa00AflE4TR1MvbvKktBEmAPi-EDlEIFCIjHJotuyo5vHG-71FiGpYvfzl_N2YAzYPSu2QMqnylXCeS-BHPHBWePDJpzj7OSMF5X5WcIfg"
token_type: "Bearer"
scope: "openid profile api"
profile: {s_hash: "8ZuYIvOBrN49tcyaOhY7pw", sid: "GluUL7Fg5Yni_6TqrtAxaQ",…}
expires_at: 1584277703

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...