John Deere Authentication With Leaf

John Deere Authentication With Leaf

In this post we are going to show you how to easily go through John Deere authorization flow with Leaf. That is, get authorized to access your users' John Deere data with Leaf. We'll be making some calls to Leaf, all endpoints can be found in our docs and Postman collection. Let's get to it!

(Clique aqui para a tradução em português)


Did you know the quickest and simplest way to enable provider authentication is through Magic Link or Leaf Link? Leaf provides pre-built widgets (Leaf Link) and shareable URLS (Magic Link) so you can save time on building UI. Talk to us to learn more about pricing.

Summary

  • Step 0: Create a developer account with John Deere
  • Step 1: Get your John Deere developer credentials
  • Step 2: Get your users’ John Deere tokens with Leaf
  • Step 3: Get permission to access your user’s data
  • Step 4: Add John Deere credentials to Leaf

Keep in mind that this tutorial is a full walkthrough. Most of the steps presented will be done only once, meaning that subsequent calls will be much easier and faster.

Step 0: Create A Developer Account With John Deere

(if you already have a developer account in John Deere, you can skip this step)

Register for a John Deere developer account here.

Step 1: Get Your John Deere Developer Credentials

By the end of this step, you will want to have retrieved:

your App ID and Shared Secret

First, navigate to the John Deere developer page, click the user icon (top right corner), click 'sign in' and enter your login details.

Leaf, data infrastructure for agriculture

Click on "My Applications" in the horizontal bar:

Leaf, data infrastructure for agriculture

Then, click "Create Application" to create a new application.

Leaf, data infrastructure for agriculture

Fill in the data according to your company:

Leaf, data infrastructure for agriculture

And now, select the APIs that you would like to access. Select Field Operations, Webhook and if your application requires other data (such as grower/farm/field/boundaries or machines), select the appropriate APIs in this step.

Leaf, data infrastructure for agriculture

This is the API access required for each Leaf Product:


Leaf John Deere API access
Base
Organizations, Webhook
Field Boundary
Clients, Farm, Field, Boundaries
Machine Files/Field Operations
Field Operations, Files
Beta > Prescriptions
Files
Beta > Assets > Machines
Machines
Beta > Assets > Implements
Implements
Beta > Assets > Operators
Operators
Beta > Input database (JD products)
Products

Finally, get an App ID and Secret:

Leaf, data infrastructure for agriculture

John Deere will contact you soon to grant you access to the required endpoints.

Step 2: Get your users’ John Deere tokens with Leaf

To get your users' tokens to access their John Deere data, your application must go through John Deere OAuth flow. First, you need to redirect the user to a custom URL that is the John Deere page that will present the user the choice of authorizing your app to access their data.

To get the URL for this authentication step, send a POST to

with the following JSON: