카카오 소셜로그인 구현중 자꾸 에러가 뜬다.
Error: invalid android_key_hash or ios_bundle_id or web_site_url
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
위 코드를 이용해서 키해시를 추출해내면 정확한 키해시가 아닐 수 있다고 한다.
<MainActivity.java> 파일에 아래의 코드를 추가해준다.
public class MainActivity extends ReactActivity {
...
@Override
public void onCreate(Bundle bundle) {
super.onCreate(null);
Log.d("keyHash", ""+getKeyHash(MainActivity.this));
}
public static String getKeyHash(final Context context) {
PackageManager pm = context.getPackageManager();
try {
PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
if (packageInfo == null)
return null;
for (Signature signature : packageInfo.signatures) {
try {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
return android.util.Base64.encodeToString(md.digest(), android.util.Base64.NO_WRAP);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
...
}