我目前正在为该应用构建应用和API以进行通信
我的API从Facebook Graph API收集信息,使用我的数据库中的一些数据处理/丰富它们并将它们返回到我的应用程序。
用户使用Facebook SDK登录我的应用程序。因此,在每次请求时,他们都会附加他们的Facebook用户令牌(使用https进行安全保护),以便我的API /服务器可以查询Facebook API并从中获取用户ID,以便我可以在我的数据库中找到该用户的数据。 />
这到目前为止工作正常。
但是获取ID需要我查询Facebook以获取我的API的每个请求。也许我应该在第一次请求时将Facebook访问令牌存储到我的API中,如果需要进一步请求,请检查它们是否匹配?但存储(加密)Facebook访问令牌是一个好主意吗?我想我读到了一些关于这是一个坏主意的事情。
此外,我想过如果其他人也在运行Facebook应用程序会发生什么,从而知道其他用户令牌。
如果此人将该令牌发送到我的API,它会认为这是合法用户,对吧? 有没有办法告诉Facebook Api只接受我的Facebook应用程序生成的令牌?
我发现了查询“/ app?access_token = {token_to_check}”以获取有关令牌的一些信息(应用名称,应用ID,...)。但是,我猜,每次使用Facebook API请求查询会降低整体请求的速度。
TL; DR:
存储(加密)Facebook访问令牌是一个好主意吗?
我可以告诉Facebook API只接受我的(Facebook)应用程序生成的访问令牌吗?
或者您是否知道如何拒绝外国Facebook代币?
答案 0 :(得分:0)
自己找到答案:
似乎Facebook只接受您的应用程序生成的访问令牌
因此,您只需要检查FB api查询的结果是否是这种错误,以查看访问令牌是否有效。