слишком короткий FB accessToken в Kinvey _socialIdentity с использованием kinvey-nativescript-sdk - PullRequest
0 голосов
/ 15 января 2019

У меня есть рабочий процесс входа в Facebook с использованием Kinvey MIC в моем приложении NativeScript. Я могу войти в Kinvey, и запись _socialIdentity успешно создана. В связи с тем, что мне нужно знать также электронную почту пользователя, зарегистрированную в учетной записи FB (которая не отправлена ​​в основном ответе пользователя от FB), мне нужно запросить FB Graph API для этого.

https://graph.facebook.com/v3.2/me?fields=id,name,email&access_token= + accessToken

Если я использую accessToken, хранящийся в _socialIdentity Кинвея, FB возвращает: "ошибка": { JS: "message": "Неверный токен доступа OAuth.", JS: "type": "OAuthException", JS: "код": 190, JS:}

Если я использую accessToken, сгенерированный инструментом разработчиков FB, и жестко закодировал его в свой NS-код, все работает хорошо - я получаю всю запрошенную информацию.

Разница, которую я нашел, заключается в длине accessToken: accessToken, хранящийся в Kinvey, содержит 40 символов, а созданный инструментами FB - 247 символов.

Может ли кто-нибудь объяснить, почему FB accessToken в _socialIdentity Кинвея является коротким / невозможным для дальнейшего использования или как получить действительный accessToken с помощью kinvey-nativescript-sdk? Также, если кому-то удалось получить контактную электронную почту пользователя из учетной записи FB с помощью kinvey-nativescript-sdk.

Спасибо

1 Ответ

0 голосов
/ 15 января 2019

Можете ли вы попробовать добавить client_token в раздел Разрешенные атрибуты конфигурации службы Mobile Identity Connect?

Это создаст новый атрибут для объекта kinveyAuth (который содержится в атрибуте _socialIdentity объекта User), который будет содержать токен доступа, о котором вы говорите.

Вы можете попробовать это, и дайте мне знать, если это работает?

Редактировать: Вы также можете попробовать добавить idp_access_token в раздел Разрешенные атрибуты . Это непосредственно создаст атрибут для сущности kinveyAuth, который будет содержать только необходимый токен.

...