Android Device Verification not working in Flutter - flutter

I am trying to do get OTP without Verifying you are not a robot screen using firebase in a flutter.
I added the SHA-256 key in firebase and enabled the Android Device Verification in console developer google. But still after entering the phone number for OTP that Verifying you are not a robot screen was showing and redirecting to the app. Did I miss something or it will take time to activate Android Device Verification.

Make sure your app is Registered via SafetyNet at:
Firebase Console > Project Settings > App Check > Your app
Secondly, try to test it on a real device. If you are testing phone authentication on an emulator then reCAPTCHA screen will be still shown but for real devices it won’t be shown anymore as stated in the official documentation.
Addition: It will always be shown in rooted devices.
Edit: If this is happening only to your playstore downloaded application, then you probably didn't add your playstore signing SHA1 and SHA256 to your firebase.
Go to your playstore account, app signing under integrity and copy these keys and add them to your firebase project.

Related

Firebase Identity Platform Release Version Authentication Problem

I wasn't having such a problem when using the old Firebase authentication methods. After accepting Identity Platform, my gmail and phone auth systems are not working in "android release" mode of my app (downloaded play store app). I'm currently search of the reason for this. I also put the sha keys to Firebase from Google Console App Signing and i also debugging authentication code base with test phone numbers and test gmails. There is no problem in code base or sha keys(my opinion). Now I am verifying oauth in Google Cloud Console. When this verification is verified, will my gmail and phone auths in android release mode be opened? And how long does this verification process take? Ios gmail and phone auth methods work well in the apple store or emulator. Also when i look at Google Cloud Console there are some errors on Identity Toolkit Api and Token Service Api.[enter image description here](https://i.stack.imgur.com/BeF3a.png)
I think the cause of the problem is identity platform integration and this validation for oauth. For what other reason do you think the firebase authentication systems (gmail and phone) works on iOS but not on Android?

How to support WebAuthn in WKWebViews or on PWA based IOS app

I am using webauthn for biometric authentication like fingerprint scan in my pwa.
Now to publish it on IOS as an app I have used pwabuilder.com to get an ios package, which packages pwa to load it in wkwebview so that it can run on ios as native app. Now when I am running this pwa ios package using xcode everything is working fine except biometric login.
I checked online and it seems wkwebviews don't support webauthn. Is there any work around for this?
We tried using SFSafariViewerController and with this, webauthn works fine but once user presses done on safariviewercontroller UI it reaches back to login page so we will need to send some authentication information to WKWebView which initiated that SFSafariViewerController in order to authenticate user. Can anyone tell us how can we share the data between SFSafariViewerController and WKWebView?

Flutter Google service leader board not working

I'm using this Flutter package to interface with the Google game service https://pub.dev/packages/games_services
I think I configured the game service in Google play console correctly and implemented codes in my project. Although my app is showing and submitting the score to the iOS game center, but my app can not show the leaderboard nor submitting a score as well.
I published my app in the Google play console and linked this app in the Game service in Google play console. Actually I set up the Firebase AdMob as well, so I configured my app with the SHA1 fingerprint through the Firebase(It created the OAuth ClientID, etc. automatically in Google API console) before I linked my app in Google game service.
I'm suspicious that the credentials including OAuth ClientID, etc. were not created by Google play console.
Can anybody give me a tip to resolve this issue?
Do you mean that your leaderboards are running correctly in iOS game center?
If not, you may have to make sure that your implementation is correct first.
If you suspect it's an OAuth credentials issue, you can try linking a second SHA1 fingerprint as described in Google's official documentation.
In "Check the certificate fingerprint" section:
Note: If you are debugging your game using your debug certificate but
have configured games services using your release certificate, you
should add a second linked app using the same package name and your
debug certificate's SHA1 fingerprint. This will allow you to sign in
to the application whether it's signed with the debug or release
certificates.
Google Play Console default has a managed App Signing feature that will replace your upload key with a Google-managed key, which may cause fingerprint mismatch that you described.

Register user biometrinc finger print in flutter

Can we register a biometric fingerprint on the phone in flutter. I search about that on google and found loca_auth flutter plugin but it can only get the list of biometric fingerprints and authenticate fingerprint but what I need is to register biometric fingerprints in the device.
Third party apps do not have the capacity to register/add biometric materials to devices, no matter what platform you are using -- flutter, etc. Here is how the flow works in general.
User gets a new phone (purchased, gifted, found, etc.), a phone that supports biometric authentication.
User goes to Settings and enrolls a biometric template (e.g. enrolls their fingerprint as a way of unlocking the device). In general, this is the only way to register/enroll a fingerprint/face/iris/etc.
Your app wants users to authenticate using biometrics and so implements something similar to what's described here or here.
Now inside your app, when the user clicks to authenticate(), your app never actually sees any biometric materials. Biometric materials are kept in a secure location so that third party apps cannot access them. What your app gets is acknowledgement from the Framework that the fingerprint/face/iris trying to authenticate into your app is indeed enrolled on the device. Checkout the blog posts I mentioned for more details.
You can do this. Just take a look at this:
Fingerprint Authentication in Flutter
Accordingly you also need to set permissions in android manifest file too.

How to test Android in-app purchases for different stores?

I've integrated the open-iab for unity: https://github.com/onepf/OpenIAB-Unity-Plugin
into my app and setted up the SKU Mapping for Play Store, Yandex.Store and Amazon App Store.
Now when I start the app and try to make an in-app-purchase the Play Store pop-up is showing.
How can I test it for the other stores? I've installed all of them on my phone.
Thanks in advance.
Regards Dennis
I know the answer is late, but maybe can help others.
You should be able to do this. Once its built as an APK, use
adb install -i store_name your_apk.apk
replacing "store_name" with one of com.yandex.store and com.amazon.venezia - this tells the app who you are saying installed the app.
Note that for Amazon you need to use the Amazon App Tester app (which is good) and download the json file for the IAP products from your Amazon dashboard.
Android Market
Login to play store --> Sttings --> Account details
In account details you'll find LICENSE TESTING tab
Add your testing accounts(xyz#gmail.com) below LICENSE TESTING
And while testing on device make sure that
you have logged in with the same test account on device
OR
if you are logged in with multiple accounts
then your primary account on device should be test account
*Note you cannot test InApp purchase with publisher account
you need another gmail account for testing
For Amazon
You need to build separate apk for amazon in which you need initialize with amazon
for example "OpenIabHelper.mapSku(SKU_PREMIUM, OpenIabHelper.NAME_AMAZON,"yourSKUname");"
and same for other store,
for testing amazon InApp purchase on device you need
to install amazon's InApp test apk
For Yandex Store
I have no idea about Yandex Store,
but if you make another apk for Yandex store too may solve your problem