Package overview
Vestibule is split by responsibility: core flow, transport middleware, and provider strategy packages.
Core
Read core docs vestibule
Core types, two-phase OAuth2 flow, PKCE, CSRF state, token refresh, OIDC discovery, and shared state store.
Middleware packages
Choose by your server routing layer.
Provider strategies
Provider packages normalize profile data while preserving provider-specific security behavior.
| Package | Default scopes | Important behavior |
|---|---|---|
| vestibule_github | user:email | Requests user:email by default. |
| vestibule_google | openid email profile | UserInfo.email is only populated when email_verified is true. |
| vestibule_microsoft | User.Read by default; tenant validation also requests openid. | The default strategy uses /common and performs no tenant validation. |
| vestibule_apple | name email | init initializes the JWKS cache used to verify Apple ID tokens. |