code-docs/plugins/plugins/overview.md
"Plugins" are composite packages that provide authentication, cloud integrations, and utilities that span multiple plugin types.
Unlike single-purpose plugins (blocks, connections, operators, actions), these packages provide:
| Package | Purpose | Provides |
|---|---|---|
| @lowdefy/plugin-next-auth | Authentication | Auth providers, callbacks, adapters |
| @lowdefy/plugin-aws | AWS integration | S3 connection, Lambda support |
| @lowdefy/plugin-auth0 | Auth0 integration | Auth0-specific provider |
| @lowdefy/plugin-csv | CSV utilities | CSV parsing operators |
Authentication is built on Auth.js (formerly NextAuth.js):
# lowdefy.yaml
auth:
providers:
- id: google
type: GoogleProvider
properties:
clientId:
_secret: GOOGLE_CLIENT_ID
clientSecret:
_secret: GOOGLE_CLIENT_SECRET
callbacks:
session:
- _function:
__session.user.id: __user.id
auth:
# Authentication providers
providers: [...]
# Session callbacks
callbacks:
jwt: [...]
session: [...]
# Page customization
pages:
signIn: /login
signOut: /logout
error: /auth-error
# Advanced options
adapter: MongoDBAdapter
session:
strategy: jwt
Composite plugins can export multiple types:
export default {
// Auth providers
auth: {
providers: {
GoogleProvider: { ... },
},
adapters: {
MongoDBAdapter: { ... },
},
callbacks: {
sessionCallback: { ... },
},
},
// Connections
connections: {
S3Bucket: { ... },
},
// Requests
requests: {
S3Upload: { ... },
},
// Operators
operators: {
client: { ... },
server: { ... },
},
};
Some functionality requires multiple components:
Auth.js provides: