FormidableLabs / FormidableLabs/react-native-app-auth
Error: JSON deserialization error (Android)
- Dominant language
- Java
- Stars
- 2.3k
- Forks
- 473
- PR merge metrics
- No merged PRs in 30d
Description
## Issue
I am getting `JSON deserialization error` with the following on Android **ONLY** - iOS is working as expected.
```
export const config = {
issuer: 'https://opentest.coros.com',
clientId: 'XXX',
clientSecret: 'XXX',
redirectUrl: `com.myapp.staging://oauth`,
scopes: ['userInfo', 'runData'],
serviceConfiguration: {
authorizationEndpoint: `https://opentest.coros.com/oauth2/authorize`,
tokenEndpoint: `https://opentest.coros.com/oauth2/accesstoken`,
revocationEndpoint: `https://opentest.coros.com/oauth2/deauthorize`,
}
}
const result = await authorize(config)
```
Response I am expecting (I got this via iOS as it works):
```
{
"refreshToken": "XXX",
"scopes": [],
"accessToken": "XXX",
"idToken": "",
"tokenAdditionalParameters": {
"openId": "XXX"
},
"tokenType": "",
"authorizeAdditionalParameters": {},
"accessTokenExpirationDate": "2022-08-19T10:24:57Z"
}
```
I have a hunch it's related to the `tokenAdditionalParameters` but I'm not 100% sure.
Worth noting I can't see any network request to COROS using Flipper.
---
## Environment
* **Your Identity Provider**: COROS (https://coros.com/)
* **Platform that you're experiencing the issue on**: `Android`
* **Are you using Expo?** No
Contributor guide
Research direction
Start at the authorize(config) Android path and investigate the JSON deserialization failure around the COROS token response, especially tokenAdditionalParameters. Compare the Android handling with the working iOS response; done means authorization succeeds on Android and returns the expected token fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native
- Domain
- authentication, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100