1

I would like to add Firebase AppCheck to my mobile app to protect my backend (not Firebase services). I want to use Google Play Integrity provider (default one).

I know that Firebase AppCheck for Android is a wrapper around Google Play Integrity. It prepares "nonce" and callsrequestIntegrityToken method to fetch "integrity verdicts". But these verdicts are not included in Firebase AppCheck Token which I pass to my custom backend. I read the source code of Firebase Android SDK and Firebase Admin SDK for NodeJS and I saw that Firebase Admin SDK uses https://firebase.google.com/docs/reference/appcheck/rest/v1/projects.apps/exchangePlayIntegrityToken method to exchange "Google Play Integrity token" for Firebase AppCheck Token. And in that place we lost information about "integrity verdicts".

enter image description here

In Google Play Console there are given settings: enter image description here

Why MEETS_DEVICE_INTEGRITY value cannot be deleted? How these values are considered by Firebase AppCheck? Let's say I checked all values in Google Play Console ("MEETS_STRONG_INTEGRITY", "MEETS_DEVICE_INTEGRITY", "MEETS_BASIC_INTEGRITY") and Google Play Integrity returns only one value: "MEETS_DEVICE_INTEGRITY". How Firebase AppCheck treats this verdicts? Is it valid or not? Does Firebase AppCheck return validated AppCheck Token or not?

piotrpawlowski
  • 767
  • 2
  • 9
  • 19

0 Answers0