【问题标题】:Incorrect value in api/rest-auth/facebook/api/rest-auth/facebook/ 中的值不正确
【发布时间】:2022-11-30 08:27:13
【问题描述】:

我有一个与从 React Native 应用程序收到的 access_token 相关的问题。 React Native 应用程序使用 expo-facebook 库,当身份验证弹出窗口消失时,将创建令牌并将其发送到后端 API。令牌由 logInWithReadPermissionsAsync 方法创建。

const { type, token, expirationDate, permissions, declinedPermissions, graphDomain } =
            await Facebook.logInWithReadPermissionsAsync({
              permissions: ["public_profile", "email"],
            });

我看到服务器在 http://localhost:8000/api/rest-auth/facebook/ 端点上收到此令牌并将其发送到 Facebook 端点验证。问题出现在 Facebook 的响应上。我希望它应该对 Facebook 有效,但似乎出了点问题。

HTTP 400 Bad Request
Allow: POST, OPTIONS
Content-Type: application/json
Vary: Accept

    {
        "non_field_errors": [
            "Incorrect value."
        ],
        "code": 400,
        "message": "Bad Request"
    }

我在 Graph API Explorer 中生成的访问令牌比在 React Native expo 应用程序中生成的令牌更短(当我使用它时,它在后端应用程序中运行)。为什么这两个令牌不同?为什么它不像我期望的那样工作?

【问题讨论】:

  • 什么是“Facebook 图表浏览器”Graph API Explorer?或者是其他东西?
  • 我的意思是 Graph API Explorer,抱歉误导

标签: python react-native facebook-graph-api django-allauth dj-rest-auth


【解决方案1】:

我发现问题出在哪里。我知道问题出在令牌中,一个好的方向是 Facebook 的回应。

{"error":{"message":"Invalid appsecret_proof provided in the API argument","type":"GraphMethodException","code":100}}.

在那之后,我意识到 React Native Expo 可能有问题。当您甚至传递应用程序 ID 时,Expo-facebook 都没有反应,它使用了在 expo 环境中定义的错误应用程序 ID(APP_ID=1696089354000816)。 App-id 是在settings里面设置的,也在

await Facebook.initializeAsync({
      appId: '<APP_ID>',
    });".

所以主要问题是我依赖了一个不属于我的应用程序的 access_token。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-24
    • 2015-07-10
    • 2016-02-03
    • 2015-06-25
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 2019-11-13
    相关资源
    最近更新 更多