コンテンツへスキップ
NextAuth.js v4 から移行しますか? 移行ガイドを読む.
ガイド企業プロキシのサポート

企業プロキシのサポート

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` has a `duplex` option
  return undici(args[0], { ...args[1], dispatcher })
}
 
export const { handlers, auth } = NextAuth({
  providers: [GitHub({ [customFetch]: proxy })],
})

リソース

Auth.js © Balázs Orbán and Team -2024