--- id: atlassian-jwt-auth version: "22.0.1" license: MIT license_treatment: permissive maintenance: active --- # atlassian-jwt-auth — Python implementation of the Atlassian Service to Service Authentication specification. License: permissive · Maintenance: active · Downloads: 499.2K/mo ## What it is and what it does atlassian-jwt-auth implements the Atlassian Service to Service Authentication specification, allowing Python applications to generate and verify JWT tokens for authenticated communication with Atlassian services. It handles the full lifecycle: creating signers from private keys (in-memory, file-based, or data URIs), generating short-lived tokens with configurable lifetimes, and verifying tokens using public key retrieval from HTTPS endpoints. The package integrates directly with requests and aiohttp, so you can drop a JWTAuth handler into standard HTTP client calls and let the library manage token generation and refresh automatically. It supports token reuse within validity periods to reduce overhead, and provides both synchronous and async verification paths. Use it for: - Authenticate requests to Atlassian Cloud APIs (Jira, Confluence, Bitbucket) using JWT bearer tokens. - Build microservices that communicate with each other using the S2S specification without shared secrets. - Verify incoming JWT tokens from other services to confirm their identity and claims. - Implement token caching and reuse to reduce cryptographic overhead in high-throughput scenarios. - Manage multiple private keys from a file repository and automatically select the latest active key. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Generates and verifies JWT tokens for Atlassian Service to Service Authentication, with built-in support for requests and aiohttp HTTP clients. Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. Install it if you need to authenticate with Atlassian services or implement the S2S spec. The requests integration is seamless; if you use aiohttp, you'll need to install it separately but the library provides drop-in replacements. ## Install pip install atlassian-jwt-auth uv add atlassian-jwt-auth poetry add atlassian-jwt-auth ## Installing atlassian-jwt-auth Before you install: Low install friction; pure Python wheel with three lightweight runtime dependencies (PyJWT, requests, CacheControl). Active maintenance with a recent release 85 days ago. License in practice: MIT license permits commercial and private use with minimal restrictions; suitable for most projects. Quickstart: pip install atlassian-jwt-auth import atlassian_jwt_auth from atlassian_jwt_auth.contrib.requests import JWTAuth import requests signer = atlassian_jwt_auth.create_signer('issuer', 'issuer/key', private_key_pem) response = requests.get('https://your-url', auth=JWTAuth(signer, 'audience')) Requires a private key in PEM format; for aiohttp support, aiohttp must be installed separately. Verify before relying: - Whether the package supports key rotation or automatic key discovery beyond file-based repositories. - Performance characteristics when reusing tokens with reuse_jwts=True under high concurrency. - Compatibility with non-Atlassian services that implement the S2S spec. ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 499.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags atlassian jwt authentication, service to service auth, jwt token generation verification, atlassian s2s, jwt requests integration, asap authentication, jwt-auth, atlassian-integration [View on SkillFed](https://skillfed.io/packages/atlassian-jwt-auth) · [View on PyPI](https://pypi.org/project/atlassian-jwt-auth/)