403 Запрещено при использовании управляемой клиентом аутентификации в Службе приложений Azure.

Я работаю над проектом с несколькими приложениями уже несколько месяцев, используя службу приложений Azure для моей базы данных и ADD B2C для аутентификации. В этом проекте есть три приложения: приложение администратора WPF, клиентское веб-приложение и приложение WPF для сотрудников. Все три приложения используют управляемую клиентом проверку подлинности с моим клиентом B2C, получая токен от B2C и используя этот токен для входа в базу данных службы приложений. Все работало нормально, пока, казалось, в одночасье я больше не мог аутентифицироваться с помощью службы приложений. У меня нет проблем с отображением экрана входа в систему B2C и получением токена доступа в результате аутентификации, но когда я упаковываю токен в JObject и вызываю функцию 'mobileServiceClient.LoginAsync ()', все, что я получаю, - это 403 " запрещенная "ошибка.

Сначала я попытался проверить, пострадали ли все три проекта, и это так. Затем я попытался вернуться к своей последней фиксации. По-прежнему то же самое. Затем я попытался повторно клонировать, чтобы увидеть, есть ли какая-нибудь небольшая причуда с теми же результатами. Поскольку я знаю, что мои ресурсы Azure не достигли своих пределов, я затем попытался создать полностью отдельный проект WPF и сделал таблицу в службе приложений, которая разрешает анонимный доступ. После установки для параметра «Действия при отсутствии аутентификации» значения «Разрешить анонимный доступ» в службе приложений я смог без проблем читать и записывать в анонимную таблицу. Затем я попытался аутентифицировать этот новый проект так же, как и другие, только чтобы получить ту же ошибку 403. Проверив все это, я могу сказать, что почти полностью уверен, что с клиентскими приложениями проблем нет, и проблема должна быть на стороне сервера.

Больше всего меня сбивает с толку то, что кроме добавления новой таблицы в базу данных, я ничего не изменил на стороне сервера. Я проверил как клиент B2C, так и настройки аутентификации в службе приложений, но, похоже, ничто не отличается от того, что было до того, как я столкнулся с этой проблемой. Изучив немного больше службы приложений, я попытался найти некоторый JS-код, который обрабатывает аутентификацию, чтобы увидеть, могу ли я найти какую-либо полезную информацию, используя вывод консоли. Я не нашел никакого кода, но обнаружил, что консоль выводит PID[31680] Information Sending response: 403.76 Forbidden всякий раз, когда клиент пытается аутентифицироваться.

Дополнительная информация, которая может помочь, заключается в том, что моя временная метка заголовка запроса верна. Из исследований я знаю, что Azure допускает отклонение входящих запросов от своего времени только на 15 минут.

Мы будем благодарны за любую помощь или предложения по решению этой проблемы! Спасибо!


person Joshua Stevens    schedule 24.06.2019    source источник
comment
Ваш client_id + client_secret еще действителен? Я имею в виду, срок его действия истек?   -  person Thomas    schedule 25.06.2019
comment
Я так считаю? Он все тот же client_id на B2C, а для приложений WPF я даже не использую client_secret.   -  person Joshua Stevens    schedule 25.06.2019
comment
@Joshua см. Эту ветку: stackoverflow.com/questions/56743496/   -  person Zachafer    schedule 25.06.2019
comment
Спасибо за ссылку. Я сейчас попробую. Похоже, есть много других с этой проблемой   -  person Joshua Stevens    schedule 25.06.2019
comment
@Zachafer Ты мой герой. Кажется, это исправление! Если вы превратите свой комментарий в ответ, я с радостью его приму.   -  person Joshua Stevens    schedule 25.06.2019
comment
@Zachafer Вы можете добавить комментарий к ответу.   -  person Tony Ju    schedule 19.07.2019