calcinai/oauth2-xero
OAuth 2.0 provider for Xero built on the League OAuth2 Client. Supports the authorization code flow, scope configuration, fetching the authenticated user (OpenID) and retrieving authorized Xero tenants for making API requests.
getTenants() method, directly addressing the "Accountant Workflow Automation" roadmap item.accounting.transactions and bankfeeds, critical for features like auto-invoicing or expense reconciliation.payroll.employees.openid/profile) for user identity verification in compliance workflows.Adopt if:
Look elsewhere if:
*"This package lets us launch Xero integrations in weeks, not months, by reusing a proven OAuth2 library. Here’s the impact:
Ask: Should we prioritize this for the Q3 roadmap to enable the Xero sync feature in our MVP?"*
*"This is a drop-in OAuth2 solution for Xero with zero reinvention:
getTenants() and getResourceOwner() save 20+ lines of API calls per feature.XeroService class).Recommendation:
XeroService facade to abstract token management and API calls.Next Steps:
oauth_access_tokens table for token storage.*"This package reduces risk by enforcing security best practices:
accounting.transactions).Action Items:
access_token and refresh_token in the database (e.g., using Laravel’s encrypt()).xero_oauth_audit).accounting.transactions) against least-privilege principles.Risk: If PKCE is unstable in v1.3.0, we’ll disable it and use traditional OAuth2 with short-lived tokens as a fallback."*
*"This integration future-proofs our Xero partnerships:
Talking Points:
Ask: Should we highlight this in our Q3 partner webinars as a key differentiator?"*
How can I help you explore Laravel packages today?