Actualmente me encuentro desarrollando una aplicación Android que utiliza los servicios de Firebase, de los cuales voy a utilizar la autenticación con Facebook.
Al implementar la autenticación de Facebook me aparecía el siguiente error:
SERVER_ERROR: [code] 1349195 [message]: The key hash does not match any stored key hashes. Go to https://developers.facebook.com/docs/facebook-login/android for more information.
Había seguido los pasos que indica la documentación de Firebase así que no sabia porque aparecía dicho error.
Después de estar buscando por internet un rato, dí con la solución, que paso a explicarles.
Generar la Huella SHA-1
Debemos generar la huella SHA-1 con el siguiente comando, desde la terminal en Android Studio
Usando Gradle
1 |
./gradlew signingReport |
Deberá aparecer algo como lo siguiente:
1 2 3 4 5 6 7 8 9 |
Task :app:signingReport Variant: debug Config: debug Store: ~/.android/debug.keystore Alias: AndroidDebugKey MD5: A5:88:41:04:8D:06:71:6D:FE:33:76:87:AC:AD:19:23 SHA1: A7:89:E5:05:C8:17:A1:22:EA:90:6E:A6:EA:A3:D4:8B:3A:30:AB:18 SHA-256: 05:A2:2C:35:EE:F2:51:23:72:4D:72:67:A5:6C:8C:58:22:2A:00:D6:DB:F6:45:D5:C1:82:D2:80:A4:69:A8:FE Valid until: Wednesday, August 10, 2044 |
Usando keytool
Windows
1 |
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore |
Mac
1 |
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore |
Deberá aparecer algo como esto:
1 |
Certificate fingerprint: SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09 |
Convertir la Huella a Base64
Ahora que tenemos la huella SHA-1 la debemos convertir a base64, puedes ir a cualquiera de estos dos sitios:
Una ves en el sitio, en el campo que diga “Hex string” o “Hex value” pega la huella SHA-1 que generaste y haz clic en el botón “Convert”.
Esto te generará el token que necesitas para tu aplicación en Facebook for Developers
Si alguno de sitios que deje no funcionan basta con que busques en google “hex to base64 online” y deberás encontrar sitios similares.