workos/workos-php
Official WorkOS PHP SDK for integrating SSO, Directory Sync, Admin Portal, Magic Links, and more. Configure with your WorkOS API key and client ID to access the WorkOS API from PHP applications via a convenient, maintained client.
Enhanced User Management & Role-Based Access Control (RBAC) Roadmap:
UserRoleAssignmentSource and UserRoleAssignment to implement dynamic role assignment (e.g., syncing roles from HR systems or third-party identity providers).UserManagementAuthentication.authorize.max_age to enforce short-lived session tokens for sensitive operations (e.g., admin dashboards).GET /user_management/cors_origins, GET /user_management/redirect_uris) for secure embeddable auth flows (e.g., iframe-based SSO or OAuth callbacks).Build vs. Buy (Expanded Use Cases):
UserRoleAssignmentSourceType for external sync).max_age for session security) while offloading core logic to WorkOS.Use Cases (New/Updated):
UserRoleAssignmentSource::EXTERNAL_SYSTEM).max_age) for high-risk endpoints.CreateMagicAuth logic for passwordless authentication (e.g., "login with email" flows).max_age for short-lived tokens).CreateMagicAuth logic."WorkOS’s v8.1.0 PHP SDK lets us scale user management and security without custom engineering. Key upgrades include:
max_age) for admin dashboards, cutting credential exposure risks.*"v8.1.0 adds critical tools for user management and security:
UserRoleAssignmentSource::EXTERNAL_SYSTEM) for zero-touch provisioning.UserManagementAuthentication.authorize.max_age lets us enforce short-lived tokens for sensitive endpoints.workos->userManagement()->getCorsOrigins()).CreateMagicAuth for passwordless flows (critical for guest users).
Migration is smooth if we follow the changelog, and the Guzzle-based HTTP layer remains customizable for edge cases."*"v8.1.0 strengthens our identity and session security:
max_age parameter reduces credential exposure for admin sessions.workos->auditLogs()) still cover all changes, ensuring SOC2/GDPR compliance."How can I help you explore Laravel packages today?