Hi, I’ve been having a helluva time trying to get JWT verification working with `@intercom/intercom-react-native`.
For context, we have JWT working with our website, and the API secret is enabled for all platforms. We’re reusing the same endpoint we use for web to get the JWT for mobile.
Our mobile app is built with:
- expo: @53.0.23
- @intercom/intercom-react-native: 9.1.2
- react-native: 0.79.5
I have been testing the app in development mode, with `expo run:ios`.
So far, I’ve been able to get Intercom working if JWT is not enforced. But once I activate “Enforce Messenger Security” in the Security Settings, Intercom views start returning “Something’s gone wrong” with a reload button.
Here’s our JWT code:
// Verified that `intercomToken` is valid, in Intercom’s online JWT decoder
//
// Token payload looks like:
// {
// "user_id": 3, // << Does this need to be a string?
// "email": "person@place.com",
// "name": "John Smith",
// "exp": 1759892398
// }
await Intercom.setUserJwt(intercomToken)
await Intercom.loginUserWithUserAttributes({
// Have tried alternating between `email` and `userId`, neither work
email: currentUser.email,
// userId: currentUser.id.toString(),
})
if (await Intercom.isUserLoggedIn()) {
// `isUserLoggedIn` returns true, despite apparent JWT issues
console.log('Intercom authenticated')
} else {
throw new Error('Intercom authentication failed')
}
I have manually checked the JWT token with Intercom’s JWT decoder tool, and verified that it is correctly signed with the Intercom API Secret. We set our JWTs to expire within an hour, and I’ve verified the JWTs are not expired.
In the Intercom Settings, I’ve looked in the “Check for installation errors” section, and it unhelpfully lists logs with a red exclamation mark but also “No Errors”. Clicking the rows provides does nothing, no additional information is provided:

What are we doing wrong here? Is it possible to provide more info in the installation error log?