airbytehq / airbytehq/PyAirbyte

UX Issue: Challenging to authenticate against OAuth sources on PyAirbyte

未关闭
#266 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
344
派生
77
平均合并
1 天 11 小时
30 天内合并 PR
35

描述

## Background

There are some sources which only support OAuth, for instance the [Amazon Seller Partner](https://docs.airbyte.com/integrations/sources/amazon-seller-partner#reference) source connector.

I'm logging this issue for tracking and discussion around options to improve the user experience for PyAirbyte users who want to leverage these sources.

## Exploring Options

### Option A: Use alternative auth methods (workaround)

For some sources, it could make sense to use another auth method, when available.

However, some sources, such as the "Amazon Seller Partner" source noted above, don't have alternatives.

### Option B: Obtain OAuth refresh token and client secret manually or via another means (workaround)

There are some alternative methods to collect refresh tokens and/or auth tokens needed for the OAuth flow. These are often cumbersome and challenging to implement.

### Option C: PyAirbyte could add an "OAuth Flow" feature

While this sounds like an obvious addition, it has some challenges, such as needing to host a webserver for the callback function, and the challenge of doing this in a way that is both secure and OS-agnostic. Firewalls and NAT issues could prevent this from being viable in many cases - and many runtimes could be more restrictive and not permitting of the flow. (Others may be able to speak to limitations, and paths through those, better than I can.)

### Option D: Leverage a 3rd-party OAuth service, such as Airbyte Cloud API

There may be other options to facilitate this process, which I'm not aware of at the time of this writing. In theory, the Airbyte API has an endpoint to [initialize OAuth for a source](https://reference.airbyte.com/reference/initiateoauth). My understanding is that this API only stores the creds in Cloud, and requires an Airbyte Cloud account or Airbyte OSS instance running.

Update:

[I ran this through ChatGPT for due diligence.](https://chatgpt.com/share/bb958425-0a33-4771-8fe0-c610a26303d6)

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。