首页 > 解决方案 > 如何在后端验证 Facebook 用户访问令牌?

问题描述

我正在尝试在 Facebook 登录过程后验证前端发送的令牌。

在我的 Clojure 后端尝试并失败了很多方法之后,我尝试使用 curl 来执行此操作,以检查我是否正确执行此操作。

首先,我curl根据文档执行以下操作以获取我的访问令牌:

curl -X GET "https://graph.facebook.com/oauth/access_token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=client_credentials"

响应有一个令牌,好的。

之后,我执行波纹管卷曲来调试令牌前端发送给我的输入令牌参数和我刚刚获得的访问令牌:

curl -X GET "https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN"

这给了我一个错误:

{"error":{"message":"(#100) 您必须提供应用访问令牌或作为应用所有者或开发者的用户访问令牌","type":"OAuthException","code": 100,"fbtrace_id":TRACE_ID}

即使我根据文档发送我的app_idapp_secret中的错误也会发生。access_token( app_id|app_secret)

我只是能够成功地app access token直接从 Facebook 开发人员页面,在我的应用程序中的令牌工具中。事实上,使用 Facebook 开发者页面中的调试令牌工具,我检查了从开发页面获得的访问令牌和从curl. 一个有效的是一个APP token,另一个是一个client token

那么,我做错了什么?我的应用访问令牌有误吗?我在文档中没有看到另一种方法:(

标签: facebookfacebook-login

解决方案


推荐阅读