Auth0 - Обновление корневых атрибутов для пользователей - ошибка 403: «Невозможно обновить следующие поля» - PullRequest
0 голосов
/ 02 октября 2019

Я занимаюсь разработкой приложения Xamarin.Forms с Auth0 и пытаюсь позволить пользователям обновлять информацию своего профиля, используя эту документацию для обновления корневых атрибутов , но безрезультатно, и продолжаю получать следующее сообщение об ошибке, которое не даетуказать, какая область отсутствует.

{"statusCode": 403, "error": "Forbidden", "message": "Невозможно обновить следующие поля: name", "errorCode": "достаточный_обзор"}

Я использую стандартную библиотеку Auth0.OidcClient, аналогичную в этом примере , чтобы правильно получить маркер доступа к API при передаче всех областей обновления пользователей, которые я могу найти везде (update:users * 1013)* update:users_app_metadata update:current_user_metadata update:current_user_identities) как часть Auth0ClientOptions. Если update:users или update:current_user_metadata не передаются как часть запрошенных областей, сообщение об ошибке фактически называет его ожидаемой областью. Следовательно, мое недоумение в отношении теперь неназванной, но все еще недостающей области.

Я отключил синхронизацию для всех социальных соединений, как требуется для корневых атрибутов, чтобы их можно было редактировать. Поскольку мы все еще находимся в dev, и это не сработало, я затем полностью отключил все социальные соединения и просто включил базу данных Auth0, чтобы убедиться, что в системе только что был Auth0 в качестве провайдера, при входе в систему с тестовой учетной записью пользователя изБаза данных Auth0.

При запросе пользовательского патча я отправил тип контента, управление кэшем и токен доступа в качестве авторизации / носителя как документированный .

документация образец обновляет все корневые атрибуты, но фактический API предположительно способен обновлять только один атрибут за раз, поэтому я сейчас тестирую, просто обновляя один корневой атрибут. Я получаю ту же ошибку при попытке обновить name, email или nickname.

Чего мне не хватает? Любой совет или идеи?

ОБНОВЛЕНИЕ: Я сузил вопрос до согласия пользователя grantInfo. Вход в систему зарегистрирован как успешный, но не все переданные области фактически приняты и, следовательно, перечислены в пользовательской привилегии. Тем не менее, не знаю, как получить текущему пользователю доступ к областям current_user через библиотеку Auth0.OidcClient.

     "grantInfo": {
      "id": "{ID-VALUE}",
      "audience": "https://{AUTHO-DOMAIN-NAME}/api/v2",
      "scope": "openid profile email",
      "expiration": null
    },
...