使用 kinvey-nativescript-sdk 的 Kinvey _socialIdentity 中的 FB accessToken 太短

too short FB accessToken in Kinvey _socialIdentity using kinvey-nativescript-sdk

我在 NativeScript 应用程序中使用 Kinvey MIC 登录 Facebook。我能够登录 Kinvey 并且成功创建了 _socialIdentity 记录。由于我还需要知道使用 FB 帐户注册的用户电子邮件(不是在 FB 的基本用户响应中发送的),因此我需要查询 FB Graph API。

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

如果我使用存储在 Kinvey 的 _socialIdentity 中的 accessToken,FB returns: "error":{ JS: "message": "Invalid OAuth access token.", JS: "type": "OAuthException", JS: "code": 190, JS:}

如果我使用 FB 开发人员工具生成的 accessToken 并将其硬编码到我的 NS 代码中,一切正常 - 我收到所有请求的信息。

我发现的区别是 accessToken 的长度: 存储在Kinvey中的accessToken有40个字符,而FB工具生成的有247个字符。

有人可以解释为什么 Kinvey 的 _socialIdentity 中的 FB accessToken 是 short/impossible 以供进一步使用,或者如何使用 kinvey-nativescript-sdk 获得有效的 accessToken? 此外,如果有人使用 kinvey-nativescript-sdk 从 FB 帐户获取用户的联系电子邮件。

谢谢

您能否尝试将 client_token 添加到 Mobile Identity Connect 服务配置的 Allowed Attributes 部分?

这将在 kinveyAuth 对象(包含在用户实体的 _socialIdentity 属性中)上创建一个新属性,它将保存您正在谈论的访问令牌。

你能试试吗,如果有效请告诉我?

编辑:您也可以尝试将 idp_access_token 添加到 Allowed Attributes 部分。这将直接为 kinveyAuth 实体创建一个属性,该实体将 需要的令牌。