Amo*_*tir 1 single-sign-on facebook-android-sdk
我使用Facebook SDK for Android存在SSO问题.仅在安装本机Facebook应用程序时才会出现此问题.当它没有安装时,一切正常,特别是:
Facebook facebook = new Facebook(APP_ID);
facebook.authorize(mActivity, , new DialogListener() {
...
});
facebook.isSessionValid(); // returns true
Run Code Online (Sandbox Code Playgroud)
但是当安装本机应用程序时,尽管我调用了该方法,但facebook.isSessionValid()仍然会返回.falseauthorize
我应该补充一点,我使用我的调试证书生成的hashkey创建了一个基于Android的原生Facebook应用程序keytool.
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事?
解决了!:)
我当然希望这对你也有用.问题是Windows生成无效密钥.
使用您的应用运行此操作:
try {
PackageInfo info = getPackageManager().getPackageInfo("**YOURPACKAGENAME**", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.i("PXR", Base64.encodeBytes(md.digest()));
}
}
catch (NameNotFoundException e) {}
catch (NoSuchAlgorithmException e) {}
Run Code Online (Sandbox Code Playgroud)
不要忘记获得Base64(http://iharder.sourceforge.net/current/java/base64/).
生成的密钥在您的logcat上,用此替换旧的密钥.
解决方案归功于:http: //p-xr.com/implementing-facebook-into-your-app-invalid-key-with-keytool/
| 归档时间: |
|
| 查看次数: |
1055 次 |
| 最近记录: |