Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook 不完整的签名请求json字符串?_Facebook_Authentication_Facebook Authentication - Fatal编程技术网

Facebook 不完整的签名请求json字符串?

Facebook 不完整的签名请求json字符串?,facebook,authentication,facebook-authentication,Facebook,Authentication,Facebook Authentication,当facebook将我的应用程序加载到iframe中时,我会在POST数据中获得signed_请求参数,然后我将“.”后面的部分用base64进行解码,以获得签名请求的json字符串表示形式 出于某种原因,从签名请求解码的json字符串不完整,如下所示(格式化为便于阅读): 用户id正确且完整,但字符串的其余部分缺少结束双引号和结束括号。 现在我的应用程序处于沙盒模式,每次都会发生这种情况 你知道为什么会这样吗? 谢谢 编辑 我检查了我的程序是否存在解码错误,我复制了正在发布的内容并在中进行了

当facebook将我的应用程序加载到iframe中时,我会在POST数据中获得signed_请求参数,然后我将“.”后面的部分用base64进行解码,以获得签名请求的json字符串表示形式

出于某种原因,从签名请求解码的json字符串不完整,如下所示(格式化为便于阅读):

用户id正确且完整,但字符串的其余部分缺少结束双引号和结束括号。 现在我的应用程序处于沙盒模式,每次都会发生这种情况

你知道为什么会这样吗? 谢谢


编辑
我检查了我的程序是否存在解码错误,我复制了正在发布的内容并在中进行了检查,得到了完全相同的结果。

我通过更新到commons codec 1.6解决了同样的问题。这对我来说很有效(修剪字符串并添加一个尾随括号):

String jsonString=新字符串(Base64.decodeBase64(payload.getBytes()).trim();
jsonString=jsonString+“}”

嗨,既然你能解码签名的请求,你能建议我怎么做吗。我无法做到这一点,这里是我的问题,我在我的生产环境(非沙盒模式)中有完全相同的问题,但在开发环境(沙盒模式)中没有,非常奇怪…如果您有任何解决方案,请更新!什么?你是说我用的解码器有问题吗?但我测试的在线解码器给出了同样的精确结果,他们是否也使用了有故障的解码器?(我将测试您所说的内容,但要让我的环境做好准备还需要一些时间)我遇到了同样的问题,更新commons编解码器库对我来说很容易,但您可以手动添加字符。看看这里,谢谢你的信息。我还没有真正测试你说的话(使用编解码器1.6),这需要一段时间,直到我能够测试。添加缺少的字符是我所做的,但这几乎不是一个解决方案,更像是一个解决办法。只是想验证将commons编解码器替换为新版本(1.6)是否解决了问题。谢谢
{
    "algorithm": "HMAC-SHA256",
    "expires": xxxxxxxxxxx,
    "issued_at": xxxxxxxxxx,
    "oauth_token": "xxxxxxxxxxxxxxxxxxxxxxxx",
    "user": {
        "country": "il",
        "locale": "en_US",
        "age": {
            "min": 21
        }
    },
    "user_id":"xxxxxxxxx