microsoft/microsoft-graph
The Microsoft Graph SDK for PHP lets you authenticate with Azure AD and call Microsoft 365 APIs to work with users, mail, files, calendars, and Teams from your PHP apps. Requires PHP 8.2+ and Composer.
microsoft/microsoft-graph is a generated PHP SDK for Microsoft Graph, not a Laravel-native package. It fits Laravel applications that need first-party Microsoft 365 integration—users, mail, calendar, Teams, OneDrive/SharePoint, groups—but must be wrapped behind application services rather than called directly from controllers. The SDK uses Kiota abstractions and OAuth token contexts, with async operations by default (->get()->wait() for synchronous use). For Laravel, that means a custom service provider/config wrapper is required; there is no published Laravel config, facade, or service provider.^3.5.0, PHP 8.2+). Auth supports client_credentials, authorization_code, and on_behalf_of with secret- or certificate-based clients. That covers common Laravel app-only and delegated scenarios. Feasibility is high for a contained integration, but medium for broad production rollout because permissions, tenant admin consent, token lifecycle, and Graph throttling must be designed explicitly.NOASSERTION while the README states MIT; legal should confirm before adoption. Stars (668) and dependents shown as 0 in the supplied metadata are weak adoption signals—validate against Packagist download and internal usage data rather than treating them as definitive.GraphServiceClient, token-cache adapter, and domain services/repositories around Graph operations. Keep SDK types out of controllers and jobs where possible so the wrapper can be swapped or mocked. Do not instantiate the client per request if token caching can be reused safely.UPGRADING.md, pin to a tested minor, and budget for generated-model changes rather than assuming a drop-in upgrade.^3.5.0 blindly. Track changelog and UPGRADING.md; reserve engineering capacity for generated-model changes, especially on major upgrades. The wrapper layer is the main long-term maintenance asset.wait() calls in request/Octane paths. Also watch national-cloud endpoint misconfiguration and secret/certificate rotation failures. Instrument Graph calls with correlation IDs, latency, status codes, and retry counts.How can I help you explore Laravel packages today?