I would like to use the Amazon Alexa voice service to create a voice interface for Salesforce. But I've run into problems.
I am reading here:
http://blog.enree.co/2015/12/salesforce-amazon-echo-integrate-alexa.html
and I read:
"unfortunately when linking accounts Amazon's Alexa Skills page doesn't sends to the login page the redirect_uri parameter that is mandatory for successfull Salesforce OAuth process completion."
There might be a variable name conflict, since both SalesForce and Amazon use "redirect_uri" in the URLs they use as part of their Oauth process.
On the Amazon side, I believe I've done all I can to set this up.
I've gone to my Developer Portal:
https://developer.amazon.com/edw/home.html#/skill/amzn1.echo-sdk-ams.app.b9ae614ad/info
(Obfuscated for security)
Under "Account Linking or Creation", under "Domain List", I whitelisted this domain:
salesforce.com
If I take my iPhone and open the Alexa app, I can search for my skill, find it, and then I click "Enable".
Under "Authorization URL" I put:
https://alexa.salesvoiceapp.com/auth
(You might ask, why don't I go point straight to Salesforce? Well, I was hoping to harvest the Amazon user_id, so I went to my own server first. This was a failed idea.)
I've set this to "Implicit Grant".
When the user arrives on my server I harvest the Amazon user_id and then redirect to Salesforce:
And then in the Alexa app I see:
Not Found The requested URL /&redirect_uri=https://alexa.salesvoiceapp.com/auth-callback was not found on this server
I believe that Amazon is causing this error? Or is this a SalesForce error?
Do I have to specify a "redirect_uri" as part of the URL? When I created my Connected App I specified this as the callback URL:
https://alexa.salesvoiceapp.com/auth-callback
Can I get SalesForce login to use that URL automatically, without me having to send it along as a parameter in the URL that I use to redirect users to SalesForce?