Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Generating hash key for app using facebook sdk

I am using facebook sdk for login into my application. The application runs fine on HTC devices. The application also works fine on Samsung devices if there is no facebook app pre installed.

But if there is already facebook app on mobile and then the user installs my app, the user is never logged in. From what I know, I think this might be a problem of single sign on, and I think this is somewhat related with generating proper application hash key, and using the hash key in facebook application which I used to log into the mobile app.

Please guide me how to create the hash key. I am running ubuntu 10.4.

When I run this command in terminal :-

keytool -exportcert -alias <your keystore alias name>.keystore -keystore ~/.android/<your keystore name>.keystore | openssl sha1 -binary | openssl base64 

I am never prompted for password, though I am given the hash key.

like image 853
abhishek Avatar asked May 13 '11 08:05

abhishek


People also ask

How do I configure app key hashes on Facebook?

Steps : Go to facebook developer's page : https://developers.facebook.com/ Open the App tabs and than click the Setting. Paste the generate hashkey on HashKey's field = If you don't have it yet, get your key hash part of code.


2 Answers

Try this:

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

I hope you will get it. I just checked it and I got the prompt for password.

like image 168
Lavanya Avatar answered Sep 28 '22 19:09

Lavanya


You can use this code block to generate hash key. Put this code block in your onCreate() method.

try {         PackageInfo info = getPackageManager().getPackageInfo(                 "Your package name",                  PackageManager.GET_SIGNATURES);         for (Signature signature : info.signatures) {             MessageDigest md = MessageDigest.getInstance("SHA");             md.update(signature.toByteArray());             Log.d("Your Tag", Base64.encodeToString(md.digest(), Base64.DEFAULT));             }     } catch (NameNotFoundException e) {      } catch (NoSuchAlgorithmException e) {      } 
like image 32
ACengiz Avatar answered Sep 28 '22 17:09

ACengiz