Facebook access_token格式突然改变



我们的应用程序从access_token中获得facebook session_key,但我发现access_token格式今天更改了,access_token的返回值没有分隔符'|',我无法获得新的格式的session_key,请帮助我。

下面是新的access_token:AAACNiIlBuO0BACgjrbFp1a8dAUxP4t0ojVElFA88aJFVxG3gISvETafwEUzbMzLPxAVcTUWXyUJaBgy1OxBQHdneW1v0ZD

我知道问题是什么,应用程序设置中的"OAuth Migration"设置已启用,它将返回一个加密的访问令牌。

cookie命名为fbsr_APP-ID,其中包含已签名的请求。当您解析签名请求时,您不会立即获得访问令牌,而是需要再次与facebook进行身份验证的代码。该方法与来自标准登录的签名请求几乎相同,但不完全相同。redirect_uri必须为空字符串。任何"需要被移除"。用户id在签名的请求中仍然是直接可用的:

{u'issued_at': 1316611903, 
 u'code': u'2.AQB0gn0ueVWMpj-c.3600.1316617200.1-684450912|RTJur1Zmr__4d4uX5vg25tc1X4M', 
 u'user_id': u'*USER-ID*', u'algorithm': u'HMAC-SHA256'}

验证的响应也发生了变化。在此之前,它是包含访问令牌的url编码字符串。现在它还包含一个过期值:令牌有效的秒数。它看起来像这样:

access_token="AAADYZBFNocBMBAK8Z.....2CljZAk1xX4rd9quEoXTygZDZD"&expires=6295

最新更新