Добрый вечер, сотрудники Microsoft!
У меня есть служба мобильных приложений в Microsoft Azure, расположенная в южно-центральной части США, с именем CeneamApp.
Мой бэкенд настроен таким образом, что мой пользователь может получить доступ только к тем данным, которые они собирают, используя стабильные идентификаторы пользователей.
поэтому я следовал книге Адриана Холла, чтобы создать идентификатор пользователя (https://adrianhall.github.io/develop-mobile-apps-with-csharp-and-azure/chapter2/authorization/)with в следующем формате sid:{identifier}as описано здесь: (https://github.com/Azure/azure-mobile-apps-net-server/wiki/Understanding-User-Ids).
теперь весь мой идентификатор пользователя был изменен, и мой пользователь не может получить доступ к своим предыдущим данным, собранным ими, потому что каким-то образом поставщик или эмитент или что-то еще происходит, не позволяет мне получить идентификатор пользователя, как описано в вики команды проекта github (в предыдущем ссылка на сайт). поэтому вместо этого я получаю новый идентификатор пользователя, но, похоже, это случайное число:
Я добавляю скриншот основной части моего кода в моем бэкэнд-проекте, который я отлаживал, чтобы понять, что происходит, и мою фиктивную базу данных, где вы можете увидеть сохранение stable_id и новые предполагаемые стабильные_id в следующих двух строках.
Отлаженный код, по-видимому, извлекающий новый идентификатор пользователя из FACEBOOK. Не могли бы вы подтвердить это изменение? потому что я не смог понять это изменение.
Скриншот базы данных Dummy Database с потерянным идентификатором пользователя и новыми из базы данных других учетных записей
если у кого-то есть информация об этом странном поведении, я был бы признателен за то, чтобы просветить меня, потому что эта строка кода:
principal.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value;
раньше давал мне идентификатор пользователя в следующем формате: «sid: {идентификатор}», теперь формат показан на скриншоте.
WEBSITE_AUTH_HIDE_DEPRECATED_SID
наtrue
на портале? Если у вас есть утверждение stable_sid (найденное с помощью ClaimUser.FindFirst(stable_sid)), то вы должны получить утверждение ClaimTypes.NameIdentifier, которое является sid старого стиля. - person Allen Wu   schedule 27.12.2019