mirror of
https://github.com/skoobasteeve/successfactors-python.git
synced 2026-03-20 03:28:58 +00:00
5c0d96869d0b5bbd934ac6ea9c039b3bca536aa3
SuccessFactors Auth
Authenticate with the SAP SuccessFactors API with OAuth2 and Python.
How to use
- Create an OAuth application in SuccessFactors.
- Download the private key and copy the Client ID.
- Install the Python module:
pip install successfactors_auth - Import
successfactors_authinto your Python >=3.9 project. - Call the
successfactors_auth.auth()function in your Python project. You'll need to pass the following parameters:sf_url: Base API url of your SuccessFactors instance, e.g. "https://api55.sapsf.eu".sf_company_id: SuccessFactors company ID.sf_oauth_client_id: The Client ID for the OAuth application you created earlier.sf_admin_user: An admin user in SuccessFactors that has access to the OAuth application.sf_saml_private_key: Path to the private key file you downloaded when you created the OAuth application.
Example
#!/usr/bin/env python
import requests
from successfactors_auth import auth as sf_auth
sf_url = 'https://your.base.url.com'
sf_company_id = 'your-company-id'
sf_oauth_client_id = 'your_app_client_id'
sf_admin_user = 'your_admin_user'
sf_saml_private_key = 'your_app_private_key.pem'
token = sf_auth.auth(
sf_url,
sf_company_id,
sf_oauth_client_id,
sf_admin_user,
sf_saml_private_key,
sf_saml_template
)
headers = {
"Accept: application/json",
f"Authorization: {token}"
}
request = requests.get(f"{sf_url}/User", headers=headers)
user = request.json()
print(user)
Background
I wrote this module because I was forced to deal with the horrific SAP SuccessFactors API at my job, and I wanted to make sure other devs/sysadmins wouldn't have to feel the pain that I felt.
Once you get authenticated, getting the information you want is a whole new level of suffering. I hope to publish some more examples in the form of a blog post or docs in this repo.
Contributing
All contributions welcome! Feel free to file an issue or open a pull request.
Description
Languages
Python
100%