facebook登录sdk接入验证的踩坑

收到客户端传回来的user token和user id

然后按官方api走的debug效验

https://graph.facebook.com/debug_token?input_token=app id|app
secret
&access_token=user token

拿到的结果如图 跟标准的结果相差很多 只有valid等基础信息,明显不符合要求

{
    "data": {
        "app_id": "123456787891230", //这里是自己的appid
        "type": "APP",
        "application": "APP NAME", //这里是自己的app name
        "is_valid": true,
        "scopes": []
    }
}

这里不得不吐槽一下fb的坑,跟着api走都拿不到信息,去查了下其他资料,都是这种方式,但是就是拿不到正确信息

然后去翻其他文档,也去stackoverflow走了一圈,发现有调转的写法,把2个token位置互换:

https://graph.facebook.com/debug_token?input_token=user
token
&access_token=app id|app secret

curl一下发现报500内部错误 也不行

后来发现有2个地方可以获取app id和app secret组合后的access token

一是直接登录后去这点开查询

https://developers.facebook.com/tools/accesstoken

结果:
User Token 你需要授权给应用,才能获得访问口令。
App Token XX|1234567890|XXXXXXXXXXXXXXXXXXXXXXXX

二是通过api

https://graph.facebook.com/oauth/access_token?client_id=app
id
&client_secret=app secret&grant_type=client_credentials

结果:

{“access_token”:“XX|1234567890|XXXXXXXXXXXXXXXXXXXXXXXX”,“token_type”:“bearer”}

拿到结果access token
再重新走debug验证,这次传入的位置就是access token
如下:

https://graph.facebook.com/debug_token?input_token=user
token
&access_token=access token

验证成功

{
    "data": {
        "app_id": "1234567890", //自己的app id
        "type": "USER",
        "application": "APP NAME", //app name
        "data_access_expires_at": 1660447243, //数据访问过期时间
        "expires_at": 1657855243, //过期时间
        "is_valid": true, //是否验证
        "issued_at": 123456789, //颁发方
        "profile_id": "0",
        "scopes": [
            "email",
            "openid",
            "gaming_profile"
        ],
        "user_id": "1000001234567890" //用户id
    }
}

效验过期时间,appid和userid是否符合就ok了,记录一下,防止后面再踩

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Facebook SDK登录,您需要遵循以下步骤: 1. 创建Facebook开发人员帐户并设置应用程序。 2. 在您的应用程序中包含Facebook SDK。 3. 配置您的应用程序以使用Facebook登录。 4. 实现Facebook登录按钮并使用Facebook SDK进行身份验证。 下面是一些更详细的步骤: 1. 创建Facebook开发人员帐户并设置应用程序: - 访问Facebook for Developers网站并创建一个新的开发人员帐户。 - 在Dashboard中创建一个新应用程序,并设置应用程序的名称和基本设置。 - 在设置中添加您的平台(iOS、Android等)和相关详细信息。 2. 在您的应用程序中包含Facebook SDK: - 使用CocoaPods或手动方式将Facebook SDK添加到您的项目中。 - 设置Facebook SDK的配置文件,并在应用程序启动时初始化SDK。 3. 配置您的应用程序以使用Facebook登录: - 在开发人员门户中的设置中,将Facebook登录设置为“启用”。 - 配置您的应用程序的Bundle ID和OAuth回调URL。 4. 实现Facebook登录按钮并使用Facebook SDK进行身份验证: - 将Facebook登录按钮添加到您的应用程序中,并将其链接到Facebook SDK登录方法。 - 处理登录成功或失败的回调,并在成功的情况下使用Facebook SDK返回的访问令牌进行身份验证。 这些是一些基本步骤,但要实现Facebook登录,您需要更详细的指南和文档。Facebook开发人员门户提供了详细的文档和示例代码,可帮助您完成此过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值