我正在编写一个应用程序,它有多个前端客户端,使用 Facebook Connect 作为单点登录解决方案。
例如,其中一个客户端在 iOS 平台上运行,因此所有 Facebook 身份验证都通过 iOS Facebook SDK 在客户端上进行。然而,在用户在客户端上进行身份验证后,由于我使用 Facebook 登录我们的网站,服务器是否可以从客户端获取身份验证数据并进行验证?
使用 Javascript SDK,调用 FB.getSession() 来获取具有各种与身份验证相关的位的 JS 对象。其中,将“access_token”、“expires”、“secret”、“session_key”、“uid”和“sig”传递到您的服务器。
在服务器端检查调用是否真实,将它们连接到一个字符串中,例如“access_token=1290380d9e&expires=92d903&secret=e9cj9kd&session_key=s49i9i3f&uid=12345”。所以你刚刚通过的一切,除了标志。
在此字符串中,连接您可以从中获取的“应用程序秘密”Facebook 开发者网站 http://www.facebook.com/developers/apps.php。获取字符串的 MD5 十六进制摘要(在 Python 中 import md5;md5.new(foobar).hexdigest())并进行比较,看看它是否与您传递的“sig”相同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)