<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: generateToken succeeds, but token not being accepted when in use in Esri-Leaflet in Open Source Mapping Libraries Ques.</title>
    <link>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739592#M164</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This works out for me. Thanks Simon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Jul 2020 04:06:10 GMT</pubDate>
    <dc:creator>petiibhuzah</dc:creator>
    <dc:date>2020-07-11T04:06:10Z</dc:date>
    <item>
      <title>generateToken succeeds, but token not being accepted when in use in Esri-Leaflet</title>
      <link>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739590#M162</link>
      <description>&lt;P&gt;This question probably doesn't belong to one single developer group, but the Esri-Leaflet implementation is the ultimate end goal, and probably has developers most familiar with the stack - so here goes:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a standalone ArcGIS server situation, and am wanting to access secure feature services. My site runs on PHP 7.3, and has access to cURL. Ideally I'd like to collect the token using credentials stored in PHP, using cURL, and then deliver that token to Esri-Leaflet when I do an addtomap, thus keeping the credentials secure.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The error that I'm facing at the response to the request is the rather generic:&lt;/P&gt;
&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;
&lt;P&gt;{"error":{"code":498,"message":"Invalid Token","details":[]}}&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Temporarily there is a url here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://52.65.144.150/esri-js-demo-page/" target="_blank" rel="nofollow noopener noreferrer"&gt;http://52.65.144.150/esri-js-demo-page/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, what have I done so far? Lets use a secured esri demo service to illustrate, noting that I've left in commented out sections where I've either:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Tried to set the referer manually so that cURL is using the same referer as the referer being passed out from the site (hopefully). This included the page calling the map, as seen by lookign at the requests referer being passing in chrome, and also by ensuring that the referer being dumped out by php matched that which chrome was sending. Overall I don't want to use this approach as I'd like to have multiple pages use this bit of php.&lt;/LI&gt;
&lt;LI&gt;Tried to use the visitors IP addresses instead. This generated a token but resulted in the same invalid token issue. My organisation can force requests out from different endpoints too, so it's a possible point of instability.&lt;/LI&gt;
&lt;LI&gt;Tried to set the referer using other PHP methods such as $_SERVER['HTTP_REFERER'];&lt;/LI&gt;
&lt;LI&gt;You can also see my regex for parsing the tokens - this just strips the rest of the response so that all I'm left with is the token string. {".,}. I'm thus not passing an expiry back to the server during the layer request - I cannot see in any documentation that it's required.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="lia-code-sample line-numbers language-none" tabindex="0"&gt;&lt;CODE&gt;  &amp;lt;?php	

	//Check to see if the request came from the proper application

		//The url to the token endpoint of the sever containing the secure service
		$url = "https://sampleserver6.arcgisonline.com/arcgis/tokens/";
		
	    //What is the actual referer - dump it into the page for debugging purposes
		echo $referer = $_SERVER['HTTP_REFERER'];
	    
	    //The fields included in the request
		$fields = array(
			'request' =&amp;gt; 'getToken',
			'username' =&amp;gt; 'user1',
			'password' =&amp;gt; 'user1',
			'expiration' =&amp;gt; 120,
			'clientid' =&amp;gt; 'ref.' . $_SERVER['HTTP_REFERER'],
			//'clientid' =&amp;gt; 'ref.' . $_SERVER['HTTP_REFERER'],
			//'clientid' =&amp;gt; 'ip.' . $_SERVER['HTTP_CLIENT_IP'],
			//'clientid' =&amp;gt; 'ip',
			//'ip' =&amp;gt; $_SERVER['REMOTE_ADDR'],
			'f' =&amp;gt; 'json'
		);
		$fields_string = "";
		foreach($fields as $key=&amp;gt;$value) {
			$fields_string .= $key.'='.$value.'&amp;amp;'; 
		}
		//Instantiate Curl
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($ch,CURLOPT_POST,count($fields));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	    //curl_setopt($ch, CURLOPT_REFERER, $referer);
		$result = curl_exec($ch);
		
		//If Curl was not instantiated successfully
		if (!curl_exec($ch)) {
			echo 'An error has occurred: ' . curl_error($ch);
		}
		//Otherwise return the result
		else {
			preg_match('/:.*?,/', $result, $token);
			$token = str_replace(':', "", $token);
			$token = str_replace('.",', '"', $token);
			//print_r($token);
			echo '&amp;lt;script type="text/javascript"&amp;gt;';
			echo 'var val = '.$token[0];
			echo '&amp;lt;/script&amp;gt;';
			//echo $result;
		}
		//Close Curl
		curl_close($ch);
  }
}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now, reload the page that is doing the calling, see that the token is brought in via javascript successfully:&lt;/P&gt;
&lt;PRE class="lia-code-sample line-numbers language-none" tabindex="0"&gt;&lt;CODE&gt;&amp;lt;script type="text/javascript"&amp;gt;var val = "9VOz2HXe_mfOXJSVSFr4cgNL-5k6fIMfqTOYytKEefs"&amp;lt;/script&amp;gt;‍&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Request the service layer:&lt;/P&gt;
&lt;PRE class="lia-code-sample line-numbers language-none" tabindex="0"&gt;&lt;CODE&gt;var pedestrianDistricts2 = L.esri.featureLayer({
      url: 'https://sampleserver6.arcgisonline.com/arcgis/rest/services/Wildfire_secure_ac/FeatureServer/2', 
token: val
    }).addTo(map);‍‍‍‍&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The request from the network tab of Chrome looks like:&lt;/P&gt;
&lt;PRE class="lia-code-sample line-numbers language-none" tabindex="0"&gt;&lt;CODE&gt;https://sampleserver6.arcgisonline.com/arcgis/rest/services/Wildfire_secure/FeatureServer/?token=9VOz2HXe_mfOXJSVSFr4cgNL-5k6fIMfqTOYytKEefs&amp;amp;f=json‍‍&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The response looks like:&lt;/P&gt;
&lt;PRE class="lia-code-sample line-numbers language-none" tabindex="0"&gt;&lt;CODE&gt;{"error":{"code":498,"message":"Invalid Token","details":[]}}‍&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As an aside I tried this morning to hard code the credentials into a html page as per one of the examples - I was able to get around this error. Since this will be a production system I cannot take this approach. Then I had a different issue altogether, but that's another matter.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I cannot help but think that the referer is causing me grief, but I'm just not sure how to get around the issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Any bright ideas are appreciated!&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 28 Aug 2023 12:54:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739590#M162</guid>
      <dc:creator>SimonWebster</dc:creator>
      <dc:date>2023-08-28T12:54:08Z</dc:date>
    </item>
    <item>
      <title>Re: generateToken succeeds, but token not being accepted when in use in Esri-Leaflet</title>
      <link>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739591#M163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Fixed by treating the json object as json properly.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;  &lt;SPAN class="delimiter token"&gt;&amp;lt;?php&lt;/SPAN&gt;	
        &lt;SPAN class="comment token"&gt;//Establish our requesting url&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;global&lt;/SPAN&gt; &lt;SPAN class="variable token"&gt;$wp&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
        &lt;SPAN class="variable token"&gt;$RequestingPage&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;home_url&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="variable token"&gt;$wp&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="property token"&gt;request&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	    &lt;SPAN class="comment token"&gt;//Check to see if the request came from the proper application&lt;/SPAN&gt;

		&lt;SPAN class="comment token"&gt;//The url to the token endpoint of the server containing the secure service&lt;/SPAN&gt;
	    &lt;SPAN class="variable token"&gt;$url&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; "https&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;//someplace.com/arcgis/tokens/";&lt;/SPAN&gt;
	    
	    &lt;SPAN class="comment token"&gt;//The fields included in the request&lt;/SPAN&gt;
		&lt;SPAN class="variable token"&gt;$fields&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;array&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;
			&lt;SPAN class="string token"&gt;'request'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'getToken'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
			&lt;SPAN class="string token"&gt;'username'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'username1'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
			&lt;SPAN class="string token"&gt;'password'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'password1'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
			&lt;SPAN class="string token"&gt;'expiration'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;120&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
			&lt;SPAN class="string token"&gt;'clientid'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'ref.'&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; &lt;SPAN class="variable token"&gt;$RequestingPage&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'/'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
			&lt;SPAN class="string token"&gt;'f'&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'json'&lt;/SPAN&gt;
		&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="variable token"&gt;$fields_string&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;""&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="keyword token"&gt;foreach&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$fields&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;as&lt;/SPAN&gt; &lt;SPAN class="variable token"&gt;$key&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$value&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="variable token"&gt;$fields_string&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="variable token"&gt;$key&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'='&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$value&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'&amp;amp;'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; 
		&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
		&lt;SPAN class="comment token"&gt;//Instantiate Curl&lt;/SPAN&gt;
		&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;curl_init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$url&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="token function"&gt;curl_setopt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token constant"&gt;CURLOPT_SSL_VERIFYPEER&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;false&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="token function"&gt;curl_setopt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token constant"&gt;CURLOPT_POST&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;count&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$fields&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="token function"&gt;curl_setopt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token constant"&gt;CURLOPT_POSTFIELDS&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="variable token"&gt;$fields_string&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="token function"&gt;curl_setopt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token constant"&gt;CURLOPT_RETURNTRANSFER&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token boolean"&gt;true&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	    &lt;SPAN class="token function"&gt;curl_setopt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token constant"&gt;CURLOPT_REFERER&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="variable token"&gt;$RequestingPage&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
	    
		&lt;SPAN class="variable token"&gt;$result&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;curl_exec&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		
		&lt;SPAN class="comment token"&gt;//If Curl was not instantiated successfully&lt;/SPAN&gt;
		&lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;!&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;curl_exec&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="keyword token"&gt;echo&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'An error has occurred: '&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;curl_error&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
		&lt;SPAN class="comment token"&gt;//Otherwise return the result&lt;/SPAN&gt;
		&lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
			&lt;SPAN class="comment token"&gt;//Treat the response as JSON, and split by attribute.&lt;/SPAN&gt;
			&lt;SPAN class="variable token"&gt;$someObject&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;json_decode&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$result&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
			&lt;SPAN class="keyword token"&gt;echo&lt;/SPAN&gt; '&lt;SPAN class="markup token"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;&lt;/SPAN&gt;script&lt;/SPAN&gt; &lt;SPAN class="attr-name token"&gt;type&lt;/SPAN&gt;&lt;SPAN class="attr-value token"&gt;&lt;SPAN class="punctuation token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;text/javascript&lt;SPAN class="punctuation token"&gt;"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;'&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
			&lt;SPAN class="keyword token"&gt;echo&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"\r\n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
			&lt;SPAN class="keyword token"&gt;echo&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'var val = "'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$someObject&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="property token"&gt;token&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'"'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
			&lt;SPAN class="keyword token"&gt;echo&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"\r\n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
			&lt;SPAN class="keyword token"&gt;echo&lt;/SPAN&gt; '&lt;SPAN class="markup token"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="token tag"&gt;&lt;SPAN class="punctuation token"&gt;&amp;lt;/&lt;/SPAN&gt;script&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;'&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
			&lt;SPAN class="keyword token"&gt;echo&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"\r\n"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
		&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
		&lt;SPAN class="comment token"&gt;//Close Curl&lt;/SPAN&gt;
	    &lt;SPAN class="token function"&gt;curl_close&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="variable token"&gt;$ch&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
  &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="token function"&gt;add_action&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'wp_head'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'ple_hook_javascript'&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 07:28:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739591#M163</guid>
      <dc:creator>SimonWebster</dc:creator>
      <dc:date>2021-12-12T07:28:49Z</dc:date>
    </item>
    <item>
      <title>Re: generateToken succeeds, but token not being accepted when in use in Esri-Leaflet</title>
      <link>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739592#M164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This works out for me. Thanks Simon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Jul 2020 04:06:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739592#M164</guid>
      <dc:creator>petiibhuzah</dc:creator>
      <dc:date>2020-07-11T04:06:10Z</dc:date>
    </item>
    <item>
      <title>Re: generateToken succeeds, but token not being accepted when in use in Esri-Leaflet</title>
      <link>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739593#M165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Glad it helped!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I guess what I didn't mention in my initial series of posts was that the script returns the variable "var" which contains the token.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;When collecting a layer with ESRI-Leaflet you can supply this token as part of the URL. Just for anyone else who happens upon this in the future.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Jul 2020 07:16:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/open-source-mapping-libraries-ques/generatetoken-succeeds-but-token-not-being/m-p/739593#M165</guid>
      <dc:creator>SimonWebster</dc:creator>
      <dc:date>2020-07-11T07:16:01Z</dc:date>
    </item>
  </channel>
</rss>

