You need to sign in to do that
Don't have an account?
mohaaron
Using localhost for REST external/remote site uri
I'm wondering if anyone can tell me why I can't connect to http://localhost from Salesforce to a local rest interface. I've added "http://localhost" as a remote site but I still get an error when connectiong that says the connection failed. The localhost rest uri does work if I use Fiddler or via browser so why doesn't it work from Salesforce?
because in oauth the callback url is executed on the client not the server.
All Answers
because localhost is relative, so the request originates at a salesforce server, localhost it that salesforce server, not your host. you need to use a publicly accessible IP or host nme.
Is this different when using OAuth and the callback url? I have localhost set as the callback url and it works.
because in oauth the callback url is executed on the client not the server.
Your saying that when I call localhost from the Salesforce server it's looking at itself instead of my local server?
Yes
I'm not sure about this one. I'm currently developing a solution and am able to use localhost addresses without issue. Salesforce passes the user back to my local app without any problems.
It'll only work in the cases where the localhost reference is resolved on the client, like in javascript, or in the oauth flow. it will not work if you use the HTTP classes in apex to make HTTP calls.
mohaaron... did your problem got solved???
It exposes your localhost as a http hashed, https hashed.
I downloaded it to my mac, opened it in my terminal and command cd to it where it was located in my machine.
The session expires after a set amount of time and you have to grep back into it to produce a new link, when you close your machine or kill the terminal
Start off by:
Step 1) (on Command Line) cd to the location of the ngrok file you downloaded
Step 2) type ./ngrok http #### (the #### sign should be replaced by your localhost port number.)
In my case it looked like this:
./ngrok http 9750
Step 3) Replace (I used https version - see example below)
I was able to add the prefix to my link by changing localhost:
http://localhost:9750/epiquery1/datahub/...
to
https://4bb7c1d9.ngrok.io/epiquery1/datahub/...
Step 4) Don't forget to add the site under "Remote Site Settings" under Setup in SFDC. Create a new one, name it, and paste your hashed prefix there. In this example it would be https://4bb7c1d9.ngrok.io
Hope this helps anyone out in the future when you Google "Salesforce LocalHost"
For anyone else grappling with this, this thread may also be of help: https://github.com/inconshreveable/ngrok/issues/448