Troubleshooting

Here are some common issues to watch out for when integrating Approov with your systems

Problem: Fetch Token Always Returns Failure

Are You Using Google Firebase?

There is a issue with Performance Monitoring plugin for Android which breaks some features of HttpsURLconnection. The Approov SDK interprets this (correctly) as an attempt to disable HTTPS features and stops the token fetch process.

Solution is to upgrade to the latest version of Firebase (11.2 or greater).

Problem: Tokens Are Always Invalid

Is app Registered?

Check that the registration script has been successfully run for the app you are testing.

Has the app been changed since registration?

Common issue when moving from evaluation to production is for tokens to suddenly stop being valid.

Often this is due to the more complex build process for the app introducing unexpected transforms. Crashlytics is a common source of this. Make sure you register the app with Approov after it has been through all other services and build steps.

Have you decoded the Server Secret?

The Secret used to validate the Approov JWT on your server is supplied as a Base64 encoded string. Typically you will need to decode this before passing it to a JWT verification library. See server integration guide for details.

Is there a MITM Proxy Running?

If you Man in the Middle (i.e SSL proxy) any of the connections from your app then it will not be given a valid token.

Is there a Debugger Attached?

The SDK detects when a debugger is attached and prevents valid tokens from being granted. Note that this does not prevent debug builds of the app from getting valid tokens, as long as they are not actively being debugged.

Problem: Cannot Register app with Approov

Are you using the correct token?

There are different tokens for accessing different elements of the Approov service. In addition tokens are unique to your account. Make sure you are not using tokens for the demo by mistake.

Are you using the demo SDK?

SDK or library instances are unique to your account. Registration will fail if your app contains the demo SDK.