+ Start a Discussion
*werewolf**werewolf* 

How do I add a Remote Access to a Managed Package?

I've been a Force.com developer for 7 years and I can't for the life of me figure this out!

 

The docs allude to what this post says directly: that to add a Remote Access Application to a Managed Package, you have to do so during creation of the managed package.

 

However I can find no way to do so.  In the flow of the managed package creation I see this when first making the package:

 

 

Hmm, nothing here.  Maybe after I save it?

 

 

Not here either.  No new button under Remote Access.  Maybe if I edit the package?

 

A few new options here, but nothing regarding a remote access.

 

So maybe if I kill the managed package and make a new Remote Access?

 

 

Not seeing anything here to add to a package, maybe after I save it?

 

 

ARGH!

 

So how exactly can I add this Remote Access Application to my package?  Does anybody know?  Thanks.

Best Answer chosen by Admin (Salesforce Developers) 
chuckmortimorechuckmortimore

That screen you're showing isn't actually related to OAuth....it's a packaged Remote Site Setting, which is basically the whitelist for outbound connections from an Org.   Without an approved Remote Site Setting, Apex or Workflows couldn't callout to that App.

 

if you want to use OAuth, you can either use the end-user oauth flow which you describe, or an admin based oauth approval via a new Pilot framework called Connected Apps.    Are you trying to act on behalf of each user, or as a single integration user?

All Answers

chuckmortimorechuckmortimore

Hey Marco - there really is no need to package remote access clients anymore.    What are you trying to accomplish?

*werewolf**werewolf*

Thanks for the response, Chuck.  I guess that was you that said that on Twitter yesterday.

 

Basically, I'd like to make it such that when a user installs my package, he is presented with a prompt like this to allow access:

 

 

The alternative seems to be for me to make a tab, have the user navigate there, make the tab pop up a little something from my site that kicks off an OAUTH login process, then finally be done.  In the end, all I really need is an OAUTH refresh token, and I'd like my install process to be as smooth as possible.  The above flow, which the InboundScore guys somehow did, seems to be doing exactly what I want to do -- but I can't figure out how they did that!

 

So how did they do that?

 

Thanks again.

chuckmortimorechuckmortimore

That screen you're showing isn't actually related to OAuth....it's a packaged Remote Site Setting, which is basically the whitelist for outbound connections from an Org.   Without an approved Remote Site Setting, Apex or Workflows couldn't callout to that App.

 

if you want to use OAuth, you can either use the end-user oauth flow which you describe, or an admin based oauth approval via a new Pilot framework called Connected Apps.    Are you trying to act on behalf of each user, or as a single integration user?

This was selected as the best answer
*werewolf**werewolf*

Oops pressed the wrong button there, but your post is pretty close to the solution.

 

Indeed, we're looking to act on behalf of a single integration user.  Connected apps sounds interesting, would love to learn more about it.

chuckmortimorechuckmortimore

Direct message me, and I'll get you into the pilot

CrowdcastCrowdcast

Hi, we're trying to recreate a package that we created a month ago. When we created it the first time, there were Remote Access Apps put into our package so that we could use the settings to connect via OAuth (each user is individually authenticating against our app). Now, if we follow any of the tutorials on the web about adding remote access packages, the buttons seem to be gone.

 

We have a managed package, and on the Remote Access tab there is NO New button, contrary to any of the tutorials and documentation you have available. Was there an upgrade to the system that removed this capability? If so, how is our 3rd party application supposed to communicate via OAuth without the client id and secret information?

 

We tried to use this documentation: http://na9.salesforce.com/help/doc/en/remoteaccess_define.htm - but the buttons it claims should be there, are not.

 

We are able to create Remote Access apps but not add them to the package.

 

please help 

thanks

yan AT crowdcast DOT com

chuckmortimorechuckmortimore

There shouldn't be any need to package a remote access client anymore.   These were made to work across organizations inherently in our Spring 11 release ( well over a year ago ), and hence we've suppressed the option to package it as it's irrelevant.

 

Is there something about the remote access client you need that isn't working without the package?

kviswanadhakviswanadha

So after the Summer 12, cant we add the Remote Access to the package? How would then an external application connect to my package? 

 

When we package Remote Access, the Consumer Key And Consumer Secret remain same in any org the package is installed.  But with the new Summer 12 I am not able to add it to managed package.

chuckmortimorechuckmortimore

You can connect across orgs with remote access clients.   It's simply not required to add them to a package.

StenEStenE

Hi,

 

We have the exact same issues. 

 

Our Managed App needs to update information in Salesforce as a background process whenever there is data to update. 

 

So as i see this, we need to create consumer keys which needs to be included in the managed package so we can access the customer org after the client has allowed us. But as we cannot add the remote access to the package and the connected apps is still in beta/pilot, how are we going to do this?

 

Could someone please give us a approach here...

 

Thanks,

Sten

chuckmortimorechuckmortimore

You only need to include your consumer keys in a package if you want the subscrier org to take advantage of advanced features like administrative approval.   If you simply want regular oauth capabilties, there is no need to package your consumer....simply use it, and it will work cross-org already.