21 lines
678 B
TypeScript
21 lines
678 B
TypeScript
export const dynamic = 'force-dynamic'
|
|
import { NextResponse } from 'next/server'
|
|
|
|
export async function GET() {
|
|
const clientId = process.env.SPOTIFY_CLIENT_ID!
|
|
const redirectUri = `${process.env.NEXT_PUBLIC_APP_URL}/api/spotify/callback`
|
|
const scopes = [
|
|
'user-read-playback-state',
|
|
'user-modify-playback-state',
|
|
'user-read-currently-playing',
|
|
].join(' ')
|
|
|
|
const url = new URL('https://accounts.spotify.com/authorize')
|
|
url.searchParams.set('response_type', 'code')
|
|
url.searchParams.set('client_id', clientId)
|
|
url.searchParams.set('scope', scopes)
|
|
url.searchParams.set('redirect_uri', redirectUri)
|
|
|
|
return NextResponse.redirect(url.toString())
|
|
}
|