SDK لـPython
عميل Python خفيف وقليل الاعتماديات. يستخدم مكتبة cryptography لدعم ES256 دون اعتماديات تشغيل أخرى.
التثبيت
pip install ztxbas
يتطلب Python 3.9 أو أحدث.
الاستيراد
from ztxbas import Client, ChallengeDeniedError, ChallengeExpiredError
مثال متكامل مختصر
c = Client(
"https://ztxbas.example.com",
"app_YOUR_APPLICATION_ID",
"YOUR_HMAC_SECRET_HEX",
)
c.register_user("alice@example.com")
c.register_origin("https://app.example.com", "Example App")
ch = c.create_challenge("alice@example.com", "https://app.example.com")
claims = c.poll_challenge(ch["challenge_id"])
print(claims.email, claims.origin)
الأخطاء بوصفها استثناءات
from ztxbas import (
ChallengeDeniedError,
ChallengeExpiredError,
UnregisteredOriginError,
)
try:
claims = c.poll_challenge(ch["challenge_id"])
except ChallengeDeniedError:
... # user tapped Deny
except ChallengeExpiredError:
... # approval too slow
except UnregisteredOriginError:
... # programmer error
للاطلاع على الصيغة الخام للخطأ، التقط ApiError وافحص status_code وcode وmessage.
وضع التحقق فقط
from ztxbas import Verifier
v = Verifier(
"https://ztxbas.example.com/.well-known/jwks.json",
expected_issuer="https://ztxbas.example.com",
)
claims = v.verify(jwt_from_mobile)
Verifier آمن للاستخدام متعدد الخيوط؛ ويمكن لمثيل واحد خدمة عدة خيوط عمل أو مهام غير متزامنة.
المستودع والمراجع
- الشيفرة:
sdk-python/ - الحزمة:
ztxbas - مثال البدء:
quickstarts/python/