기업 프록시 지원
Auth.js 라이브러리는 OAuth 프로바이더와 통신하기 위해 fetch
API를 사용합니다. 여러분의 조직이 기업 프록시를 사용하는 경우, fetch
API가 프록시를 사용하도록 설정해야 할 수 있습니다.
커스텀 fetch 함수 사용하기
프로바이더에 옵션으로 커스텀 fetch
함수를 전달할 수 있습니다.
여기서는 undici
라이브러리를 사용해 프록시 서버를 통해 요청을 보내는 예제를 살펴봅니다. undici
의 fetch
구현에 dispatcher
를 전달하여 프록시를 설정합니다.
auth.ts
import NextAuth, { customFetch } from "next-auth"
import GitHub from "next-auth/providers/github"
import { ProxyAgent, fetch as undici } from "undici"
const dispatcher = new ProxyAgent("my.proxy.server")
function proxy(...args: Parameters<typeof fetch>): ReturnType<typeof fetch> {
// @ts-expect-error `undici`는 `duplex` 옵션을 가지고 있음
return undici(args[0], { ...args[1], dispatcher })
}
export const { handlers, auth } = NextAuth({
providers: [GitHub({ [customFetch]: proxy })],
})