Android单点登录 [英] Android single sign-on
问题描述
在使用更新版本的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屋!