Android单点登录 [英] Android single sign-on

查看:110
本文介绍了Android单点登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在使用更新版本的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);
}
}

然后我使用命令

  keytool -exportcert -alias androiddebugkey -keystore〜/ .android / debug.keystore | openssl sha1 -binary | openssl base64 

此外,我有 OpenSSL ,并给出了OpenSSL的位置,直到 openssl.exe ..



当我点击输入后,它要求一个密码,我给了 android 作为密码。然后我得到了一个密钥并填写了我的应用程序。

解决方案

首先,您需要使用以下内容创建哈希密钥

  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 

然后输入密码:

 输入密钥库密码:android 
/ pre>

然后去Facebook开发人员登录Facebook。登录后转到您的应用程序并点击编辑设置链接:





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





这就是你的做法; )



上述步骤对我有用。


I'm getting login failed invalid key error while using an updated version of Facebook. If I delete it - it's working fine..

What is the correct way of creating a hash key?

I know that there are a lot of questions and answers for single sign on in Android, but none helped me to implement single sign-on in Android.

My code:

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);
    }
}

Then I generated a hash key using the command

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

Also, I am having OpenSSL and given the location of OpenSSL upto openssl.exe..

After I hit Enter it is asking for a password and I gave android as the password. Then I got a key and filled in "My Application".

解决方案

First, you need to create the hash key using the below code according to your path.

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

Then enter the password:

Enter keystore password:  android

Then go to Facebook developers and login into Facebook. After login goto your application and click on edit setttings link:

Then add the generated key as under to your application,

And that's how you do it ;)

The above steps works well for me.

这篇关于Android单点登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆