إنتقل إلى المحتوى الرئيسي

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 آمن للاستخدام متعدد الخيوط؛ ويمكن لمثيل واحد خدمة عدة خيوط عمل أو مهام غير متزامنة.

المستودع والمراجع​