Ok, so first lesson, do not stay up to late

Second for those that may need:

  1. First URL needs to end in authorization This returns a CODE
  2. the second needs to be an HTTPRequest with response with the url ending in token This will return the appropriate results.

Oh, and set your callback to https://na1.salesforce.com/apex/pagename


I go the original stuff worked out now the issue is that I need to have the callback url be a visual force page that could be on any instance

Right now I have it set to:


it does take me to the page but will not pass along the results of the oAuth

if I changed the call back url to:


the parameters are there.

As with any managed package it could be installed on any instance so how the heck do I get it to return the the users instance / package page / along with the results of the oAuth...

I need to authorize a connected app that is 100% native inside of salesforce.

That part I got down.


I end up at the the redirect URL of https://login.salesforce.com/services/oauth2/success which just displays "Remote Access Authorized" or something like that....

I need the refresh token, so how do I get the user redirected back to the visual force page to capture the refresh token?

I must be missing something simple.....

Keep in mind that the page could be on any instance.....

  • 1
    when you set the callback to na1.salesforce.com, does that work for any user of your managed package, regardless of their instance? I would think the user would have to specify their own instance. – David Cheng Jul 12 '16 at 15:51
  • @DavidCheng - Use https://ap1.salesforce.com to be useable for any instance including EMEA etc – Eric Jul 12 '16 at 18:34

Mention the redirect URL as your visuslforce page only instead of oauth success url.The VF Url will have access token that you can get using apexpages.currentpage.parameters.get('refresh token')

  • How do I do that when I do not know what instance it may be installed on? Since the callback url must match the connected app setting I cannot just set it to the current instance... – Eric Jul 27 '14 at 3:08
  • Disregard. I had a debug code that was causing the issue of null reference.......Thank you for letting me know it should be possible. That kept me going and digging into it – Eric Jul 27 '14 at 3:52
  • Ok. So I am getting it coming back to the page but there are no parameters returned.....ugh – Eric Jul 27 '14 at 4:24
  • You will need a site page that can be accessed by anybody.Once you obtain token and server URL redirect User to Server URL . – Mohith Shrivastava Jul 27 '14 at 5:49
  • github.com/logontokartik/Picklist-Manager you can start from this . @logonkarthik has already done some work .begin from here . – Mohith Shrivastava Jul 27 '14 at 5:50

Was this ever solved? Redirecting from a server is definitely insecure and would not pass a appexchange review.

  • Also apexpages.currentpage.parameters.get('refresh token') and {!$CurrentPage.parameters.anytokenparam} does not work as the callback adds a # before the parameters before the call back. – user2324723 Jul 28 '17 at 5:15
  • Can we have a look at the code here? – PSH Jan 19 '18 at 1:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.