IAM V2 client library for EaseCation services (Python port of @easecation/iam-client)
Project description
easecation-iam-client
Python port of @easecation/iam-client. IAM V2 API wrapper for EaseCation services.
Install
pip install easecation-iam-client
Or from repo:
pip install -e packages/iam-client-py
Usage
from easecation_iam_client import IamClient, create_iam_client_from_env
# From env (IAM_BASE_URL, IAM_CLIENT_ID, IAM_CLIENT_SECRET)
client = create_iam_client_from_env()
# Or explicit config
client = IamClient(
iam_base_url="https://iamapi.easecation.net",
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET",
)
# OAuth code exchange
tokens = client.exchange_oauth_code(code, redirect_uri)
# Verify access token
verify = client.verify_token(access_token)
# API key verification
api_key_data = client.verify_api_key(key_value)
# App session verification
valid = client.verify_app_session_token(app_session_token)
# Cross-app callback with IAM-managed API key refresh/retry.
player = client.with_app_api_key(
lambda api_key: ecapi.player.get_info(
{"displayName": "Steve"},
auth={"type": "apiKey", "apiKey": api_key},
),
name="service -> ECAPI",
)
API
get_app_session_token(),invalidate_app_token()exchange_oauth_code(code, redirect_uri)verify_token(access_token),evict_from_verify_cache(access_token)refresh_token(refresh_token),revoke_token(refresh_token)get_jwks(),get_user_profile(access_token),get_user_bootstrap(...),get_hr_bootstrap_data(...)verify_iam_callback_token(iam_token, ...),get_user_permissions(user_id, ...)verify_api_key(key_value),evict_api_key_from_cache(key_value),clear_api_key_cache()verify_app_session_token(app_session_token),clear_app_session_verify_cache()get_app_api_key(...),with_app_api_key(callback, ...)
ApiKeyRotationHelper for zero-downtime key rotation: create_new_key(...), revoke_key(key_id, ...), list_active_keys(owner_id?).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easecation_iam_client-1.3.6.tar.gz.
File metadata
- Download URL: easecation_iam_client-1.3.6.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5bbfda170da09e218ad5c231b57c0c770e9d01bc70911c44a457051588dd30b
|
|
| MD5 |
83b578b6a7eab2718da316779a419d8a
|
|
| BLAKE2b-256 |
6eeff638bd28e991599ca4c4c9b8c13ecf3530055f0773a329cb59ec51e586cc
|
File details
Details for the file easecation_iam_client-1.3.6-py3-none-any.whl.
File metadata
- Download URL: easecation_iam_client-1.3.6-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
441e375157263ad7a37e69729ae61432ea8e6a2de39f73adcc11328db416a7f3
|
|
| MD5 |
639ff36c27446da23976736bf735a0de
|
|
| BLAKE2b-256 |
ac5582c2c6f421afc1c57dbb1c39abace5982a965161d5d34a45791b7f73c2ca
|