/Knowledge/sources/honojs__hono/llms-full/basic-auth-middleware-usage--5e60666ce105.md
Basic Auth Middleware: Usage - hono-docs
Basic Auth Middleware: Usage Source evidence: /Sources/honojs hono/provenance.md Canonical citation: https://hono.dev/llms full.txt usage Summary To restrict...
Basic Auth Middleware: Usage
Source evidence: /Sources/honojs__hono/provenance.md Canonical citation: https://hono.dev/llms-full.txt#usage
Summary
ts const app = new Hono() app.use( '/auth/*', basicAuth({ username: 'hono', password: 'acoolproject', }) ) app.get('/auth/page', (c) => { return c.text('You are authorized') }) To restrict to a specific route + method: ```ts const...
Content
const app = new Hono()
app.use(
'/auth/*',
basicAuth({
username: 'hono',
password: 'acoolproject',
})
)
app.get('/auth/page', (c) => {
return c.text('You are authorized')
})
To restrict to a specific route + method:
const app = new Hono()
app.get('/auth/page', (c) => {
return c.text('Viewing page')
})
app.delete(
'/auth/page',
basicAuth({ username: 'hono', password: 'acoolproject' }),
(c) => {
return c.text('Page deleted')
}
)
If you want to verify the user by yourself, specify the verifyUser option; returning true means it is accepted.
const app = new Hono()
app.use(
basicAuth({
verifyUser: (username, password, c) => {
return (
username === 'dynamic-user' && password === 'hono-password'
)
},
})
)
Metadata
{
"chunk_index": 0,
"citation": "https://hono.dev/llms-full.txt#usage",
"coverage_role": "overview",
"qualified_title": "Hono / llms-full / Basic Auth Middleware > Usage",
"retrieved_at": "2026-07-02T05:51:01Z",
"section_index": 287,
"source_id": "/honojs/hono",
"source_type": "llms_full",
"target_label": "llms-full",
"title": "Basic Auth Middleware: Usage",
"upstream_url": "https://hono.dev/llms-full.txt",
"version": "2026"
}