OpenIdConnectProtocolValidationContext.Nonce был null

HI может кто-то, пожалуйста, помогите замаскировать ниже ошибку при вызове outlook rest api

IDX21323: RequireNonce is [[PII скрыт по умолчанию. Установите флаг ShowPII в IdentityModelEventSource.cs в true, чтобы открыть его.] '. OpenIdConnectProtocolValidationContext.Nonce был null, OpenIdConnectProtocol.ValidatedIdToken.Payload.Nonce не был null. Функция nonce не может быть проверена. Если вам не нужно проверять nonce, установите OpenIdConnectProtocolValidator.RequireNonce в значение "false". Обратите внимание, что если найден "nonce", он будет оценен.

Ответ 1

В приложении WebForms я получил ту же ошибку, когда использовал имя своего компьютера в URL проекта, но использовал "localhost" в качестве URL перенаправления входа в систему. Когда я установил их обоих на localhost, проблема ушла.

Ответ 2

aka IDX21323 указывает на потерю одноразового cookie (устанавливается первоначальным вызовом вызова). Проверьте исходный вызов входа в систему (или вход в систему после обратной передачи в WebForms) и убедитесь, что у вас действительно установлен файл cookie OpenIdConnect.nonce (вкладка сети Chrome).

Если нет, то я подозреваю, что у вас та же проблема, что и у нас, а именно то, что промежуточное программное обеспечение OWIN устанавливает cookie, но его содержимое случайно перезаписывается некоторыми другими модификациями cookie вашего унаследованного приложения. Скорее всего, это ошибка промежуточного программного обеспечения OWIN (см. Файлы cookie ASP.NET_SessionId + OWIN не отправляются в браузер), поскольку он обрабатывает файлы cookie через собственную реализацию представления OwinContext и Cookie, которая не синхронизирована с стандартный HttpContext.

Как исправить ошибку при отсутствии исходного одноразового файла cookie: Мы избегали любых изменений файлов cookie во время запроса входа в систему → поэтому промежуточное ПО OWIN может читать/записывать свои файлы cookie без помех.