- SDK Version: 46.0.10
- Platforms(Android/iOS/web/all): iOS
I’m trying to OAuth with the Asana API using the Expo SDK. I’m using Expo Go and the Simulator, and thus using the proxy. The config is as such:
const Endpoints = {
authorizationEndpoint: 'https://app.asana.com/-/oauth_authorize',
tokenEndpoint: 'https://app.asana.com/-/oauth_token',
revocationEndpoint: 'https://app.asana.com/-/oauth_revoke',
};
const [request, response, promptAsync] = useAuthRequest(
{
clientId: 'XXXXXX',
scopes: ['default', 'profile'],
redirectUri: makeRedirectUri({
scheme: 'com.beaufour.asanatask',
useProxy: true,
}),
},
Endpoints
);
When I trigger promptAsync()
, the browser opens, I can log into Asana and auth, etc. but I end up with a screen saying “Something went wrong trying to finish signing in. Please close this screen to go back to the app” and the error response is {"type": "cancel"}
. If I look in Safari, I can see the request succeeding to Asana, and it then hits https://auth.expo.io/@beaufour/asanatask?code=XX&state=XXX
.
I have this in app.json
:
"expo": {
...
"scheme": "com.beaufour.asanatask",
...
}
And the scheme seems to be registered fine too:
$ npx uri-scheme list
› iOS: Schemes for config: ./ios/AsanaTask/Info.plist
› com.beaufour.asanatask://
What’s going wrong here?