您的位置:首页 > 运维架构

Facebook实现第三方登陆invalidKeyHash的解决方法

2017-09-16 17:04 375 查看
在接入Facebook第三方登陆时,有时候按照Facebook提供的方法(包括通过代码得到的)得到的keyHash并不匹配,所以登陆时会造成Invalid key hash的错误。

当时也试了好多方法,最后在stackoverflow上面找到了解决方法。获取KeyHash的步骤如下。

1. 点击下载openssl。(需要翻墙,本来打算自己上传一份,想想是接入Facebook..)

2. 在C盘创建openssl文件夹。

3. 解压第一步下载的zip压缩文件到openssl文件夹。

4. 找到debug.keystore文件(如果你的用户名没改的话,一般是在C:\用户\Administrator.android中),把它拷贝到你的电脑中的JDK的bin目录中(因人而异了)。

5. 在JDK的bin目录中按住shift+鼠标右键,在此处打开命令窗口。输入以下命令

keytool -exportcert -alias androiddebugkey -keystore debug.keystore > c:\openssl\bin\debug.txt


6. 回车后需要输入密码,默认密码为android。

7. 现在在你的openssl的bin目录中应该已经有一个debug.txt的文件了。

8. 关掉当前cmd窗口,切换到openssl的bin目录中,按住shift+鼠标右键,在此处打开命令窗口。输入
openssl sha1 -binary debug.txt > debug_sha.txt


9. 回车后,你的openssl文件夹中应该就有一个debug_sha.txt文件了。

10. 继续在当前cmd窗口输入
openssl base64 -in debug_sha.txt > debug_base64.txt


11. 回车后你的在openssl的bin目录中会有一个debug_base64.txt 的文件了,打开这个文件就得到正确的KeyHash了

PS,最后得到的正确的KeyHash好像就是crash的时候所显示的那个keyhash值,当时修改以后没有这个错误了也就没有核对了,有兴趣的朋友可以直接输入crash时候的那个keyhash。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  facebook hash openssl