Android单点登录

Ven*_*nky 4 android facebook login single-sign-on

我正在login failed invalid key error使用Facebook的更新版本.如果我删除它 - 它工作正常..

创建哈希密钥的正确方法是什么?

我知道在Android中单点登录有很多问题和答案,但没有一个帮助我在Android中实现单点登录.

我的代码:

public class Main extends Activity {
    Facebook facebook = new Facebook("XXXXXXXXXX");

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        facebook.authorize(this, new DialogListener() {
            @Override
            public void onComplete(Bundle values) {}

            @Override
            public void onFacebookError(FacebookError error) {}

            @Override
            public void onError(DialogError e) {}

            @Override
            public void onCancel() {}
        });
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        facebook.authorizeCallback(requestCode, resultCode, data);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我使用该命令生成了一个哈希键

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)

另外,我正在使用OpenSSL并且给出了OpenSSL的位置openssl.exe.

我点击Enter后就是要求输入密码,我给了android作为密码.然后我拿到了一把钥匙并填写了"我的申请表".

And*_*ger 6

创建哈希键的正确方法

请按照以下步骤操作.

以下是步骤:

  1. Google Code下载OpenSSL

  2. 提取它.创建一个文件夹 - OpenSSL C:/并在此处复制提取的代码.

  3. 检测debug.keystore文件路径.如果找不到,请C:/在下一步中搜索并使用命令中的路径.

  4. 检测您的keytool.exe路径并在命令提示符中转到该目录并运行此命令(在一行中):

    $ keytool -exportcert -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary |"C:\OpenSSL\bin\openssl" base64

  5. 它会要求输入密码.把"android",这就是全部.你会得到一个密钥哈希.


Mau*_*k J 6

首先,您需要根据路径使用以下代码创建哈希键.

C:\Documents and Settings\Logistic103>keytool -export -alias androiddebugkey -keystore "C:\Documents and Settings\Logistic103\.android\debug.keystore" | E:\Downloads\openssl-0.9.8k_WIN32\bin\openssl.exe sha1 -binary | E:\Downloads\openssl-0.9.8k_WIN32\bin\openssl.exe enc -a -e
Run Code Online (Sandbox Code Playgroud)

然后输入密码:

Enter keystore password:  android
Run Code Online (Sandbox Code Playgroud)

然后去Facebook开发者并登录Facebook.登录后转到您的应用程序并单击编辑设置链接:

在此输入图像描述

然后将生成的密钥添加到您的应用程序中,

在此输入图像描述

这就是你如何做到的;)

以上步骤适合我.