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

[🍒][PLUGIN-1741] SuccessFactors - OAuth2 Implementation #48

Conversation

psainics
Copy link
Contributor

@psainics psainics commented Jan 8, 2025

🍒 [cherrypick]

Commits :

PR:


SuccessFactors OAuth2 Feature Implemenataion

Jira : PLUGIN-1741

Description

Succfactors currently uses basic auth where are user can enter username and password for auth. This PR adds a new option to let user use OAuth for auth.

What is assertion token and auth token ?

  • Assesertion Token
    • A Base64 encoded xml that contains metadata about the auth token, signed by a private key to as proof of ownership, this is used to authenticate while generating the auth token.
  • Auth token
    • A token generated using assertion token and OAuth backchanel flow that can be used as a bearer token to authenticate user with successfactors APIs.

UI Field

  • Modified SuccessFactors-batchsource.json
  • Modified SuccessFactors-connector.json

New Fields added

  • Authentication Type
    • Let's user toggle between basic auth (default) or OAuth2
  • Assertion Token Type
    • Let's the user either use their own assertion token or creat one on the fly
  • Token URL
  • Client ID
  • Private Key
  • Expire Assertion Token In (Minutes)
  • User ID
  • Company ID
  • Assertion Token
image image image

Docs

  • Modified SuccessFactors-batchsource.md
  • Modified SuccessFactors-connector.md
image

Code change

  • Added SuccessFactorsAccessToken.java
  • Modified ResourceConstants.java
  • Modified SuccessFactorsConnectorConfig.java
  • Modified SuccessFactorsSource.java
  • Modified SuccessFactorsPluginConfig.java
  • Modified SuccessFactorsService.java
  • Modified SuccessFactorsTransporter.java

Unit Tests

  • Modified SuccessFactorsConnectorTest.java
  • Modified SuccessFactorsSourceTest.java
  • Modified SuccessFactorsPluginConfigTest.java
  • Modified SuccessFactorsInputFormatTest.java
  • Modified SuccessFactorsSchemaGeneratorTest.java
  • Modified RuntimeFunctionalForAssociatedEntityTest.java
  • Modified RuntimeFunctionalTest.java
  • Modified SuccessFactorsTransporterTest.java
  • Modified SuccessFactorsUrlContainerTest.java

Sanity Tests

  • Tested pipeline with OAuth2 creds
  • Tested pipeline with proxy and OAuth2
  • Tested pipeline with Enter Token and Create Token Modes

@psainics psainics added the build label Jan 8, 2025
@psainics psainics self-assigned this Jan 8, 2025
@psainics psainics merged commit bcafeb0 into data-integrations:release/1.2 Jan 8, 2025
5 of 6 checks passed
@psainics psainics deleted the cherry-pick-6e7d1512fbf6b2a0805dfa5923db9aa974efea37 branch January 8, 2025 12:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants