如何验证 Facebook 用户令牌服务器端

How to validate Facebook user token server side

我无法理解如何为我的网络应用程序实施 Facebook 登录工作流程。我卡在了用户令牌服务器端的验证中。

我正在使用 C# SDK 库。我正在尝试使用以下代码验证用户令牌:

var fb = new FacebookClient();
    fb.AppId = "0000000000000";
    fb.AppSecret = "000000000000000000000";    

    dynamic result = fb.Get("debug_token", new { input_token = c_accessToken });

我在 运行 Get 命令时收到以下错误。

OAuthException - #100) (#100) You must provide an app access token
or a user access token that is an owner or developer of the app

出于隐私原因,我更改了 appId 和 appSecret,但我仔细检查它们是有效的。

您需要发送 App Access Token 这就是您遇到的错误。要获取应用程序访问令牌,请遵循来自 facebook

的文档

https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens

要生成应用程序访问令牌,您需要从 FacebookClient() 或使用 HttpClient() 向此 API 端点发出 GET 请求。

GET /oauth/access_token
?client_id={app-id}
&client_secret={app-secret}
&grant_type=client_credentials

这是 'debug_token' 端点的文档 link https://developers.facebook.com/docs/facebook-login/access-tokens/debugging-and-error-handling