To configure just the print widget to work properly, I did not use Client IDs or App IDs, I don't believe. Here is what I wrote down for myself.
// for proxy.config file
<?xml version="1.0" encoding="utf-8" ?>
<ProxyConfig allowedReferers="*"
mustMatch="false">
<serverUrls>
<serverUrl url="http://mydomain.com"
matchAll="true"/>
</serverUrls>
</ProxyConfig>
<!-- See https://github.com/Esri/resource-proxy for more information -->
//in the config.json file:
//scroll to bottom about line 518: make sure httpProxy is set to:
},
"wabVersion": "2.0.1",
"isTemplateApp": true,
"isWebTier": false,
"httpProxy": {
"useProxy": true,
"alwaysUseProxy": false,
"url": "http://yourdomain.com/folder/Proxy/proxy.ashx",
"rules": []
//And in the widgets\print\print.js file: about line 187 is set to useProxy
_getPrintTaskInfo: function() {
// portal own print url: portalname/arcgis/sharing/tools/newPrint
var def = new Deferred();
if (this._isNewPrintUrl) { // portal own print url
def.resolve({
isGPPrint: false
});
} else {
esriRequest({
url: this.printTaskURL,
content: {
f: "json"
},
callbackParamName: "callback",
handleAs: "json",
timeout: 60000
},{useProxy: true, usePost: false}).then(lang.hitch(this, function(data) {
def.resolve({
isGPPrint: true,
data: data
});
}), lang.hitch(this, function(err) {
def.resolve({
error: err
});
})
);
}
return def;
},