SDK version: 35.0.0
React native expo managed flow. Expo facebook login with AWS Cognito identity pool with Facebook login:
- working fine on all versions of apple/android in simulators/expo
- working fine as standalone app on android 6
- does not work as standalone app on android 8
- does not work as standalone app on iOS
Followed exactly expo documentation.
Are you aware of any differences between android 6 and 8 (and never) ?
Any hints ?
I am not able to debug yet the issue, will attach more info once i am able to do that - tried AWS Device Farm for standalone app simulators (to test different devices/versions) but it looks like not possible with expo builds (expo builds in AWS Device Farm ?)
Update: OK, i have troubleshooted the issue. Expo facebook documentation is not correct for default Android marked apps. The suggestion that:
Facebook Key Hashand paste it as an additional key hash in your Facebook developer page pictured above.
Does not work, i had to use different hash, not the one provided by expo. I do believe the reason for that is that i have used default/recommended approach with Google app signing. Still i am not sure how to calculate the right key value with the “app signing certificate hashes” from Google. Any suggestions appreciated. And documentation needs to be corrected.
Update2: OK, issue solved. When using Google App signing we should compute the facebook key hash manually (values provided by expo are meaning less because Google resigns our app with it’s own cert):
- Login to play google com, release management, app signing and get SHA1 of App signing certificate. That is hex value with ‘:’ as the separator.
- Now since facebook required base64 encoded version remove from above value all ‘:’ signs and use any online base64 encoder (from hex to base64). That will be the correct value of hash which should be provided in Facebook app config.
@Team - please correct the documentation - i have lost quite some time figuring out that, hope it will help others.
P.S I do believe expo Google documentation is also incorrect, will test it and provide the update.