Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚨🚨Source Xero: Temporarily remove OAuth support due to user limit restrictions #42128

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ acceptance_tests:
tests:
- spec_path: "source_xero/spec.yaml"
backward_compatibility_tests_config:
disable_for_version: "0.2.5"
disable_for_version: "2.0.0" # Disabling Oauth support due to limit restriction.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no idea if this should be 3.0 or 2.0, but hope this works ;)

connection:
tests:
- config_path: "secrets/config.json"
Expand Down
9 changes: 7 additions & 2 deletions airbyte-integrations/connectors/source-xero/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,18 @@ data:
oss:
enabled: true
cloud:
enabled: false
enabled: true
remoteRegistries:
pypi:
enabled: true
packageName: airbyte-source-xero
releases:
breakingChanges:
3.0.0:
upgradeDeadline: "2024-08-30"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generous, and alright with me.

message:
Due to limitations on the number of OAuth users permitted for the Airbyte application, OAuth support has been disabled.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know the right wording, but want to make this look nicer. /cc @katmarkham

Consequently, the bearer authentication method has been adopted as the primary authentication type.
2.0.0:
upgradeDeadline: "2024-06-30"
message:
Expand All @@ -31,7 +36,7 @@ data:
connectorSubtype: api
connectorType: source
definitionId: 6fd1e833-dd6e-45ec-a727-ab917c5be892
dockerImageTag: 2.0.0
dockerImageTag: 3.0.0
dockerRepository: airbyte/source-xero
githubIssueLabel: source-xero
icon: xero.svg
Expand Down
2 changes: 1 addition & 1 deletion airbyte-integrations/connectors/source-xero/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",]
build-backend = "poetry.core.masonry.api"

[tool.poetry]
version = "2.0.0"
version = "3.0.0"
name = "source-xero"
description = "Source implementation for xero."
authors = [ "Airbyte <[email protected]>",]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,13 @@ definitions:
api_token: "{{ config['credentials']['access_token'] }}"

authenticator:
type: SelectiveAuthenticator
authenticator_selection_path: ["credentials", "auth_type"]
authenticators:
oauth2_access_token: "#/definitions/bearer_authenticator"
oauth2_confidential_application: "#/definitions/oauth_authenticator"
# Disabling OAuth support due to restrictions for the number of users.
# type: SelectiveAuthenticator
# authenticator_selection_path: ["credentials", "auth_type"]
# authenticators:
# oauth2_access_token: "#/definitions/bearer_authenticator"
# oauth2_confidential_application: "#/definitions/oauth_authenticator"
$ref: "#/definitions/bearer_authenticator"

requester:
type: HttpRequester
Expand Down Expand Up @@ -2793,33 +2795,33 @@ spec:
title: Authentication Method
type: object
oneOf:
- type: object
title: OAuth Custom Connection
required:
- auth_type
- client_id
- client_secret
properties:
auth_type:
type: string
title: Authentication Method
const: oauth2_confidential_application
order: 0
client_id:
title: Client ID
description: >-
Your Xero application's Client ID.
type: string
examples:
- "Client_ID"
client_secret:
title: Client Secret
description: >-
Your Xero application's Client Secret.
type: string
examples:
- "Client_Secret"
airbyte_secret: true
# - type: object
# title: OAuth Custom Connection
# required:
# - auth_type
# - client_id
# - client_secret
# properties:
# auth_type:
# type: string
# title: Authentication Method
# const: oauth2_confidential_application
# order: 0
# client_id:
# title: Client ID
# description: >-
# Your Xero application's Client ID.
# type: string
# examples:
# - "Client_ID"
# client_secret:
# title: Client Secret
# description: >-
# Your Xero application's Client Secret.
# type: string
# examples:
# - "Client_Secret"
# airbyte_secret: true
- type: object
title: Bearer Access Token
required:
Expand Down
12 changes: 12 additions & 0 deletions docs/integrations/sources/xero-migrations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Xero Migration Guide

## Upgrading to 3.0.0

Due to limitations on the number of OAuth users permitted for the Airbyte application, OAuth support has been disabled.
Consequently, the bearer authentication method has been adopted as the primary authentication type.
Visit the Xero documentation - https://developer.xero.com/documentation/guides/oauth2/pkce-flow for more detailed information about how to get access token.

Then authorize your source with `access_token`.
1. Go to set up `The Source` page.
2. Enter your Xero application's access token.
3. Click `Reset saved source` button.


## Upgrading to 2.0.0

You can now choose your preferred xero authentication method. You can choose between `client_credentials` and `bearer_token` authentication methods.
Expand Down
1 change: 1 addition & 0 deletions docs/integrations/sources/xero.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ The connector is restricted by Xero [API rate limits](https://developer.xero.com

| Version | Date | Pull Request | Subject |
|:-----------|:-----------|:---------------------------------------------------------|:----------------------------------------|
| 3.0.0 | 2024-07-22 | [42128](https://github.com/airbytehq/airbyte/pull/42128) | Remove OAuth due to user limit restriction |
| 2.0.0 | 2024-06-06 | [39316](https://github.com/airbytehq/airbyte/pull/39316) | Add OAuth and Bearer strategies |
| 1.0.1 | 2024-06-06 | [39264](https://github.com/airbytehq/airbyte/pull/39264) | [autopull] Upgrade base image to v1.2.2 |
| 1.0.0 | 2024-04-30 | [36878](https://github.com/airbytehq/airbyte/pull/36878) | Migrate to low code |
Expand Down
Loading