"The program we are calling from is not web based so we don't have any redirect URI"

We have a client who is looking to connect to IS from a non-web-based platform. And is struggling to get a connection.

Thanks, this may help. I am going through the OAuth process and I am struggling with the process. The program we are calling from is not web based so we don’t have any redirect URI. Is there a method to get access tokens, (or bypass the whole OAth and just authorise the calls with client id and secret?#

If you’re going to use REST then oauth is required and the workflow is not flexible. Generally, when faced with a non-web based environment, it may be necessary to host an authorization server that allows for this to all function and then communicates in proxy to the non-web based application.

Alternatively, you have the SSO option of using the api key method but that will restrict you to the XML-SDK

why not enable client credentials flow as Oauth2 offers?
this will let Machine to Machine Communication go.
No need in tricky middle ware auth server.

We develop powershell scripts just fine for other Oauth2 enabled platforms and this would be very convenient if you make this available for your customers as well.

Not my customers…I’m just a moderator here, I don’t work for Keap. Not everyone has a windows machine and iOS doesn’t offer the same options in the same way so I’m guessing that’s why it’s not an offering.

If you’re looking to have a local application, normally what would be done is to spin up a local webservice to receive the callback via a redirect to localhost, then trade that code for an Access Token/Refresh Token.

ex: https://signin.infusionsoft.com/app/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=https://localhost&response_type=code&scope=full

If it’s a continuously-running application, you could walk the flow manually (via Postman/curl, etc) and get an AT/RT then just refresh and store it on a regular basis.