My skill utilizes the API of a 3rd party (3p) service, which requires account linking. I intend to make the skill available in all supported markets.
The blocker I'm facing is that the 3p's OAuth client only accepts one redirect_uri. Since Alexa uses one of three redirect_uri depending on the user's region, I can only support account linking from region at a time.
During the beta period, I get around the limitation by asking users to fill out a web-form indicating their region, then I manually swap in the correct redirect_uri. This method is not scalable and more importantly, won't pass certification.
I've reached out to the 3p service asking them to support multiple possible redirect_uri but they won't provide a positive response. They say they don't have the resources to add the capability. They also don't offer an API for updating the OAuth client's config so I can't change it programmatically. Not that I can imagine how I would trigger the switch when a user performs account linking.
I'll include this here just in case but I doubt it'll be helpful. I am able to create multiple 3p OAuth clients but since the Alexa skill's Account Linking page only accepts one set of credentials (client ID & secret), that doesn't help me.
The only feasible solution I can imagine is maintain a clone of the skill for each region but I reeeaaaally don't like this idea.
Has anyone else faced this issue? If so, how did you handle it?