Update Xero integration from OAuth1 to OAuth2 #64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
OAuth1 has been deprecated by Xero since Feb 2020:
https://devblog.xero.com/an-update-on-why-we-are-saying-goodbye-oauth-1-0a-hello-oauth-2-0-6a839230908f
Here's a PR to support OAuth 2. Our app didn't actually work (mentioned #63) with OAuth1 because it was made in March!
I had to change the baseURL to
https://api.xero.com
rather than the previoushttps://api.xero.com/api.xro/2.0/
.Xero requires a
xero-tenant-id
header to be passed with subsequent requests to gain access to business accounts the user has access to.The only way to get this
xero-tenant-id
is to query:GET https://api.xero.com/connections
Then after obtaining the tenant ID you can query:
GET https://api.xero.com/api.xro/2.0/...
with an added headerxero-tenant-id: "abcdefg-12345"
.Question: Is there an organization plan for the json files for different supported OAuth versions? E.g.
xero, xero-oauth1, xero-oauth2
?