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

[EPIC] Implement OAuth Flow for Cloud connectors(duplicate) #7341

Closed
10 of 33 tasks
alexandr-shegeda opened this issue Oct 25, 2021 · 1 comment
Closed
10 of 33 tasks

Comments

@alexandr-shegeda
Copy link
Contributor

alexandr-shegeda commented Oct 25, 2021

Tell us about the problem you're trying to solve

We want to implement OAuth Flow for all existing connectors.
Currently, Airbyte Cloud already supports GoogleOAuthFlow.

Here is the list of connectors that should support OAuth:

Basic OAuth Connectors in priority order:

Extended OAuth Connectors in priority order:

Describe the solution you’d like

Go through each connector in the basic list. Implement Java part of the OAuth flow and cover the logic with appropriate unit/integration tests.

The acceptance criteria for each ticket is:

  • Check out the connector branch which should contain a Python part.
  • Set up local dev environment according to this doc
  • Create a new class <Connector>OAuthFlow.java which should extend the BaseOAuthFlow.
  • Introduce the class described in the previous step in the OAuthImplementationFactory.
  • Write unit tests to cover basic OAuth flow.
  • Update the Dockerfile and bump the version if needed.
  • Create a PR

Implementation hints

There is a difference when implementing this for basic and extended flow because extended flow requires some additional params to be passed from the UI.

When implementing this for basic flow, it's probably as simple as adding an additional OAuth flow implementation to the factory and covering that implementation with tests.

When implementing for extended flow it might be very similar, but we should generate authorization/redirect/access URLs dynamically and validate the input params on BE.

This PR contains an example of adding Zendesk OAuth flow.

important note: until the next PR is merged, please only focus on the 'basic' connectors list. The reason is that we are still working out how to pass additional params from the UI in the appropriate way. I will update here once we do.

@alexandr-shegeda alexandr-shegeda self-assigned this Oct 25, 2021
@alexandr-shegeda alexandr-shegeda added area/oauth Epic lang/java priority/high High priority area/connectors Connector related issues type/enhancement New feature or request labels Oct 25, 2021
@oustynova oustynova assigned antixar and unassigned alexandr-shegeda Nov 5, 2021
@antixar antixar changed the title [EPIC] Implement OAuth Flow for Cloud connectors [EPIC] Implement OAuth Flow for Cloud connectors(duplicate) Nov 5, 2021
@antixar
Copy link
Contributor

antixar commented Nov 5, 2021

merged with #7000

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Archived in project
Development

No branches or pull requests

3 participants