# Auth.js middleware for Hono
[](https://codecov.io/github/honojs/middleware)
This is a [Auth.js](https://authjs.dev) third-party middleware for [Hono](https://github.com/honojs/hono).
This middleware can be used to inject the Auth.js session into the request context.
## Installation
```plain
npm i hono @hono/auth-js @auth/core
```
## Configuration
Before starting using the middleware you must set the following environment variables:
```plain
AUTH_SECRET=#required
AUTH_URL=https://example.com/api/auth
```
## How to Use
```ts
import { Hono } from 'hono'
import { authHandler, initAuthConfig, verifyAuth } from '@hono/auth-js'
import GitHub from '@auth/core/providers/github'
const app = new Hono()
app.use(
'*',
initAuthConfig((c) => ({
secret: c.env.AUTH_SECRET,
providers: [
GitHub({
clientId: c.env.GITHUB_ID,
clientSecret: c.env.GITHUB_SECRET,
}),
],
}))
)
app.use('/api/auth/*', authHandler())
app.use('/api/*', verifyAuth())
app.get('/api/protected', (c) => {
const auth = c.get('authUser')
return c.json(auth)
})
export default app
```
React component
```tsx
import { SessionProvider, useSession } from '@hono/auth-js/react'
export default function App() {
return (