Skip to main content

Python SDK for kafka-admin-agent OIDC proxy service

Project description

oidc-proxy-python-sdk

Python SDK для сервиса oidc-proxy.

SDK реализует модели API и клиент, повторяющий интерфейс Go-клиента:

  • Healthy / Ready
  • Authorize / AuthorizeCallback
  • FindSession / DeleteSession

Установка

Из корня репозитория:

cd oidc-proxy/oidc-proxy-python-sdk
poetry install

Использование

from oidc_proxy_sdk import (
    OIDCProxyClient,
    AuthorizeInput,
    AuthorizeCallbackInput,
    OIDCProxyError,
)

client = OIDCProxyClient(base_url="http://localhost:8080")

# Health
client.healthy()  # -> True или OIDCProxyError
client.ready()    # -> True (200) или False (503)

# Авторизация
location = client.authorize(AuthorizeInput(redirect_uri="https://example.com/callback"))
print("Redirect user to:", location)

# Callback
session = client.authorize_callback(
    AuthorizeCallbackInput(
        code="code-from-provider",
        state="state-from-cookie",
    )
)
print(session.user_id, session.user_info.email)

# Сессии
session = client.find_session("user-id-123")
if session:
    print("Session expiry:", session.expiry_time)

client.delete_session("user-id-123")

Модели

Модели соответствуют OpenAPI-схеме oidc-proxy:

  • Session — структура ответа /api/v1/sessions/{userID} и /api/v1/oidc/authorize/callback
  • UserInfo — данные пользователя (включая roles и permissions)
  • HealthCheck — элемент ответа /api/v1/health/readiness
  • ErrorResponse — тело ошибки, возвращаемое API

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oidc_proxy_python_sdk-0.0.0.dev9.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oidc_proxy_python_sdk-0.0.0.dev9-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file oidc_proxy_python_sdk-0.0.0.dev9.tar.gz.

File metadata

File hashes

Hashes for oidc_proxy_python_sdk-0.0.0.dev9.tar.gz
Algorithm Hash digest
SHA256 1a92cda6c3bb8287e5a6d1c1f1025d64dc1cb1d8c134bf6a29ee0d52bf4ff260
MD5 5a9fca971a1a2dc66a2eadb7163661b1
BLAKE2b-256 4cfeb9810b33767e49e94de1df2f89792e21514d9fa5207a7f1e5be0618502db

See more details on using hashes here.

File details

Details for the file oidc_proxy_python_sdk-0.0.0.dev9-py3-none-any.whl.

File metadata

File hashes

Hashes for oidc_proxy_python_sdk-0.0.0.dev9-py3-none-any.whl
Algorithm Hash digest
SHA256 46b2a4b46210b9a315245581ef96b893c15232700bf7ea0a512bcf36dcca0618
MD5 20b3fa0b3d16881f90aac490491181d5
BLAKE2b-256 4621aae070d2bded602125704a31156a3c7f4c8590ef16709f86e9d13c859ab9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page