Skip to main content

Permissions & Resources SDK

SDK for managing permissions and resources in your applications.

Checking a User Token for Permissions

Learn how to verify if a user has the required permission to perform an action on a resource using local JWT checks.

Step 1: Install SDK Dependencies

pip install requests PyJWT

Step 2: Initialize Client & Check Permission

from minimal import AuthSecClient

# Initialize the client
client = AuthSecClient(base_url="https://your-authsec-server.com")

# Generate token for user
token = client.generate_token(
tenant_id="your-tenant-id",
project_id="your-project-id",
client_id="your-client-id",
email_id="user@example.com"
)

# Set token for subsequent requests
client.set_token(token)

if client.check_permission("document", "read"):
print("User can read documents")

Step 3: Check Scoped Permission

if client.check_permission_scoped("document", "write", "project", "project-uuid"):
print("User can write documents in this project")

Create a Permission (Resource + Method Definition) via SDK

Learn how to create new permissions programmatically using the AuthSec SDK.

Step 1: Install SDK Dependencies

pip install requests PyJWT

Step 2: Create Permission

from admin_helper import AdminHelper

# Initialize with token
admin = AdminHelper(
token="your-admin-token",
base_url="https://dev.api.authsec.dev"
)

# Create permission
perm = admin.create_permission("document", "read", "Read documents")

Returns:

Permission object with details of the created permission.

Endpoint:

POST /uflow/user/permissions

List Permissions

List permissions, optionally filtered by resource.

# Syntax
list_permissions(resource=None)

# Examples
all_perms = admin.list_permissions()
doc_perms = admin.list_permissions(resource="document")