Startups & enterprises: Get AuthFI free for 1 year →

Python SDK

Flask/FastAPI decorators for JWT verification, RBAC, and cloud credentials.

Install

pip install authfi

Initialize

from authfi import AuthFI

auth = AuthFI(
    tenant='acme',
    api_key='sk_live_...',
    application_id='your-client-id',
    auto_sync=True,
)

Flask Decorators

@app.route('/api/users')
@auth.require('read:users')
def get_users():
    user = auth.current_user()
    # user.id, user.email, user.roles, user.permissions, user.groups
    return jsonify(users)

@app.route('/api/admin', methods=['POST'])
@auth.require_role('admin')
def admin_action():
    return jsonify({'status': 'ok'})

FastAPI Dependencies

from authfi.fastapi import require_permission, get_current_user

@app.get('/api/users')
async def get_users(user = Depends(require_permission('read:users'))):
    return {'user': user.email}

Permission Registration

auth.register_permission('read:users', 'List all users')
auth.register_permission('write:users', 'Create and update users')
auth.sync()  # Push to AuthFI

Token Verification

claims = auth.verify_token(token_string)
# claims.sub, claims.email, claims.roles, claims.permissions

Cloud Credentials

# AWS
creds = auth.cloud_credentials(user_token, 'aws', role_arn='arn:aws:iam::123:role/MyRole')
# creds.access_key_id, creds.secret_access_key, creds.session_token

# GCP
creds = auth.cloud_credentials(user_token, 'gcp', project='my-project')

# Raw OIDC token
token = auth.cloud_token(user_token, audience='custom', ttl=900)