Setting the file. One moment.
Subchapter 4.18
references/migrations/minikit-to-farcaster/auth.mdMarkdown1 KBView on GitHub
import { sdk } from '@farcaster/miniapp-sdk';
// Make authenticated request (recommended)
const res = await sdk.quickAuth.fetch('/api/auth');
// Or get token directly
const { token } = await sdk.quickAuth.getToken();npm install @farcaster/quick-auth// app/api/auth/route.ts
import { createClient } from '@farcaster/quick-auth';
import { NextRequest, NextResponse } from 'next/server';
const client = createClient();
export async function GET(request: NextRequest) {
const auth = request.headers.get('Authorization');
if (!auth?.startsWith('Bearer ')) {
return NextResponse.json({ error: 'Unauthorized' }, { status: 401 });
}
try {
const payload = await client.verifyJwt({
token: auth.split(' ')[1],
domain: 'your-domain.com',
});
return NextResponse.json({ fid: payload.sub });
} catch {
return NextResponse.json({ error: 'Invalid token' }, { status: 401 });
}
}