Я занимаюсь разработкой приложения 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
},