api - 使用 Facebook Connect 登录/创建帐户时,如何使用我自己网站的 API 进行身份验证?

标签 api authentication oauth facebook

标题说明了大部分问题,但我很难思考如何让 Facebook 认证用户获得对我自己网站 API 的访问权限。

在用户通过 FB 进行身份验证后,我有一些关于用户的可用信息,但没有 API key 或用户名/密码可传递到我自己的安全 API 服务器进行身份验证。

我发现了几个相关的问题,但似乎没有一个是理想的答案:

任何帮助将不胜感激!

最佳答案

由于您是通过 Facebook connect 对用户进行身份验证,因此您对用户有足够的了解。

无论 authentication flow你正在使用,你将

第 1 步:接收一个 access_token 和一个 expire 参数。很可能,您也请求了 user_id(如果您使用的是 JS-SDK,它会处理其中的大部分)。

第 #2 步: 将这些信息(access_tokenexpireuser_id)封装在哈希字符串中,例如模仿 Facebook signed_request格式。

第 3 步:在您自己的 API 调用中发送此散列字符串:

https://mydomain.com/apis/getUserSecretData?fb_oauth=my_hashed_string&vars=my_other_vars

第 4 步:在您的 API 端点,解密/解码您的散列字符串并验证 expire 参数以及 access_token已过期,那么您需要请求一个新的并重复您的 API 调用。

关于api - 使用 Facebook Connect 登录/创建帐户时,如何使用我自己网站的 API 进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8949825/

相关文章:

javascript - 尝试使用 API 从交易所获取价格

ios - Spotify:使用 Web API 调用将轨道添加到 iOS 中的播放列表

asp.net - 在 asp .net 中禁用 Web 身份验证

java - 抄写员 - 同时进行多个回调

Facebook 通过带有图形 API 的 Facebook 应用程序在墙上发布消息

api - 我正在尝试通过 Rust 中的 OpenWeather API 获取数据,但我想我正面临一些关于解析的问题

python - 能够排除 python 中的某些变量

azure - 如何使 Azure AD 身份验证在本地主机之外工作

wcf - 如何为具有 HTTPS 终结点的 WCF 服务生成客户端代理?

python - 如何使用Google Oauth2 access_token?