Authentication
The OpenBankProject Client uses OAuth1 for authentication. This guide explains how to authenticate with the API.
OAuth1 Authentication
The client supports OAuth1 authentication with the following methods:
Direct Authentication
from openbankproject_client import OpenBankProjectClient
client = OpenBankProjectClient(
base_url="https://your-obp-instance.com",
consumer_key="your-consumer-key",
consumer_secret="your-consumer-secret"
)
# Authenticate with username and password
client.authenticate(
username="your-username",
password="your-password"
)
Token-based Authentication
If you already have OAuth tokens:
client = OpenBankProjectClient(
base_url="https://your-obp-instance.com",
consumer_key="your-consumer-key",
consumer_secret="your-consumer-secret",
oauth_token="your-oauth-token",
oauth_token_secret="your-oauth-token-secret"
)
Getting Consumer Keys
To get consumer keys for your application:
Log in to your OpenBankProject instance
Go to the API Explorer
Register a new application
Note down the consumer key and secret
Security Best Practices
Never commit consumer keys or secrets to version control
Use environment variables or a secure configuration management system
Rotate credentials regularly
Use the minimum required permissions for your application
Example with Environment Variables
import os
from openbankproject_client import OpenBankProjectClient
client = OpenBankProjectClient(
base_url=os.environ["OBP_BASE_URL"],
consumer_key=os.environ["OBP_CONSUMER_KEY"],
consumer_secret=os.environ["OBP_CONSUMER_SECRET"]
)
Error Handling
The client provides specific exceptions for authentication errors:
from openbankproject_client.errors import AuthenticationError, OBPError
try:
client.authenticate(username="user", password="pass")
except AuthenticationError as e:
print(f"Authentication failed: {e}")
except OBPError as e:
print(f"API error: {e}")