
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
adminjs-fastify
Advanced tools
This is a plugin which integrates AdminJS to fastify framework.
AdminJS is an automatic admin interface which can be plugged into your application. You, as a developer, provide database models (like posts, comments, stores, products or whatever else your application uses), and AdminJS generates UI which allows you (or other trusted users) to manage content.
Check out the example application with mongo and postgres models here: https://adminjs-example-app-staging.herokuapp.com/admin
Or visit AdminJS github page.
npm install adminjs-fastify
import { adminRoute } from "adminjs-fastify"
It exposes adminjs
plugin, which can be registered to a given url in the API.
import { adminRoute } from "adminjs-fastify"
import AdminJS from 'adminjs'
import fastify from "fastify"
const app = fastify()
const adminJs = new AdminJS({
databases: [],
rootPath: '/admin' // prefix for adminJS routes
})
app.register(adminRoute, { admin: adminJs })
app.listen(8080, () => console.log('AdminJS is running under localhost:8080/admin'))
Check example project sources in examples
folder.
To protect the routes with a session authentication, you can use auth
parameter to plugin
app.register(adminRoute, {
admin: adminJs,
auth: {
authenticate: async (email, password) => {
if (ADMIN.password === password && ADMIN.email === email) {
return ADMIN
}
return null
},
cookiePassword: "a secret with minimum length of 32 characters",
}
})
Note! To use authentication in production environment, there is a need to configure @fastify/session for production build. It can be achieved by passing options to sessionOptions
parameter. Read more on fastify/session Github page
Plugin can be pre-configured with following options:
type AdminRouterOptions = {
/**
* instance of {@link AdminJS}
* @required
*/
admin: AdminJS
/**
* authentication parameters
* @optional
*/
auth?: {
/**
* cookie secret - minimum length of 32 characters
* @required
*/
cookiePassword: string
/**
* cookie name
* @optional
* @default: "adminJS"
*/
cookieName?: string
/**
* secure cookie
* @optional
* @default: false
*/
cookieSecure?: boolean
/**
* authentication check function
* @required
* @returns: user data or null
*/
authenticate: (email: string, password: string) => unknown | null
}
/**
* multipart options - pass through params to [fastify-multipart](https://github.com/fastify/fastify-multipart) plugin
*/
multipartOptions?: FastifyMultipartBaseOptions
/**
* session options - pass through params to [@fastify/session](https://github.com/fastify/session) plugin
*/
sessionOptions?: FastifySessionPlugin.Options
})
MIT
FAQs
This is a plugin which integrates AdminJS with Fastify framework
The npm package adminjs-fastify receives a total of 1 weekly downloads. As such, adminjs-fastify popularity was classified as not popular.
We found that adminjs-fastify demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.