<?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: JAMF Pro Add on for Splunk in Splunk Cloud Platform</title>
    <link>https://community.splunk.com/t5/Splunk-Cloud-Platform/JAMF-Pro-Add-on-for-Splunk/m-p/686231#M3018</link>
    <description>&lt;P&gt;It appears that the JAMF classic API uses the paths:&lt;/P&gt;&lt;P&gt;&lt;A href="https://server.name.here:8443/JSSResource" target="_blank" rel="noopener"&gt;https://server.name.here:8443/JSSResource&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://server.name.here:8443/api" target="_blank" rel="noopener"&gt;https://server.name.here:8443/api&lt;/A&gt;&lt;/P&gt;&lt;P&gt;While the JAMF Pro API uses the paths:&lt;/P&gt;&lt;P&gt;&lt;A href="https://server.name.here:8443/uapi" target="_blank" rel="noopener"&gt;https://server.name.here:8443/uapi&lt;/A&gt;&lt;/P&gt;&lt;P&gt;There are mentions of the uapi endpoint in the file in the "JAMF Pro Add on for Splunk" app at /JAMF-Pro-addon-for-splunk/bin/uapiModels/devices.py and jamfpro.py in the same directory, so likely the app does use the Pro API as well as the classic API.&lt;/P&gt;&lt;P&gt;However the code for jamfpro.py suggests that it uses basic authentication with username and password to obtain a bearer token, with no mention of Access Token, Client ID, or Client Secret. Thus it is likely the answer to your question about authentications is that the app only supports basic authentication.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;class JamfPro:
    class JamfUAPIAuthToken(object):
    
    ....
    
        def get_token(self):
            url = self.server_url + 'api/v1/auth/token'
            logging.info("JSSAuthToken requesting new token")

            userpass = self._auth[0] + ':' + self._auth[1]
            encoded_u = base64.b64encode(userpass.encode()).decode()
            headers = {"Authorization": "Basic %s" % encoded_u}
            for key in self.extraHeaders:
                headers[key] = self.extraHeaders[key]

            response = self.helper.send_http_request(url="https://" + url,
                                                     method="POST",
                                                     headers=headers,
                                                     use_proxy=self.useProxy)
            if response.status_code != 200:
                raise Exception
            self.unix_timestamp() + 60
            self._set_token(response.json()['token'], self.unix_timestamp() + 60)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 02 May 2024 20:11:35 GMT</pubDate>
    <dc:creator>marnall</dc:creator>
    <dc:date>2024-05-02T20:11:35Z</dc:date>
    <item>
      <title>JAMF Pro Add on for Splunk</title>
      <link>https://community.splunk.com/t5/Splunk-Cloud-Platform/JAMF-Pro-Add-on-for-Splunk/m-p/686175#M3017</link>
      <description>&lt;P&gt;&lt;SPAN&gt;we are looking to confirm with the "JAMF Integrations" that this app supports the Jamf Pro API vs Classic API and that it was configured to use the API Roles and Clients with the Access Token, Client ID and Client Secret vs Basic Auth&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 02 May 2024 13:18:41 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Cloud-Platform/JAMF-Pro-Add-on-for-Splunk/m-p/686175#M3017</guid>
      <dc:creator>skseifert</dc:creator>
      <dc:date>2024-05-02T13:18:41Z</dc:date>
    </item>
    <item>
      <title>Re: JAMF Pro Add on for Splunk</title>
      <link>https://community.splunk.com/t5/Splunk-Cloud-Platform/JAMF-Pro-Add-on-for-Splunk/m-p/686231#M3018</link>
      <description>&lt;P&gt;It appears that the JAMF classic API uses the paths:&lt;/P&gt;&lt;P&gt;&lt;A href="https://server.name.here:8443/JSSResource" target="_blank" rel="noopener"&gt;https://server.name.here:8443/JSSResource&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://server.name.here:8443/api" target="_blank" rel="noopener"&gt;https://server.name.here:8443/api&lt;/A&gt;&lt;/P&gt;&lt;P&gt;While the JAMF Pro API uses the paths:&lt;/P&gt;&lt;P&gt;&lt;A href="https://server.name.here:8443/uapi" target="_blank" rel="noopener"&gt;https://server.name.here:8443/uapi&lt;/A&gt;&lt;/P&gt;&lt;P&gt;There are mentions of the uapi endpoint in the file in the "JAMF Pro Add on for Splunk" app at /JAMF-Pro-addon-for-splunk/bin/uapiModels/devices.py and jamfpro.py in the same directory, so likely the app does use the Pro API as well as the classic API.&lt;/P&gt;&lt;P&gt;However the code for jamfpro.py suggests that it uses basic authentication with username and password to obtain a bearer token, with no mention of Access Token, Client ID, or Client Secret. Thus it is likely the answer to your question about authentications is that the app only supports basic authentication.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;class JamfPro:
    class JamfUAPIAuthToken(object):
    
    ....
    
        def get_token(self):
            url = self.server_url + 'api/v1/auth/token'
            logging.info("JSSAuthToken requesting new token")

            userpass = self._auth[0] + ':' + self._auth[1]
            encoded_u = base64.b64encode(userpass.encode()).decode()
            headers = {"Authorization": "Basic %s" % encoded_u}
            for key in self.extraHeaders:
                headers[key] = self.extraHeaders[key]

            response = self.helper.send_http_request(url="https://" + url,
                                                     method="POST",
                                                     headers=headers,
                                                     use_proxy=self.useProxy)
            if response.status_code != 200:
                raise Exception
            self.unix_timestamp() + 60
            self._set_token(response.json()['token'], self.unix_timestamp() + 60)&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 May 2024 20:11:35 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Cloud-Platform/JAMF-Pro-Add-on-for-Splunk/m-p/686231#M3018</guid>
      <dc:creator>marnall</dc:creator>
      <dc:date>2024-05-02T20:11:35Z</dc:date>
    </item>
  </channel>
</rss>

