首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NextAuth类型与nextjs13的集成

NextAuth类型与nextjs13的集成
EN

Stack Overflow用户
提问于 2022-10-29 15:17:57
回答 1查看 159关注 0票数 2

这是我第一次使用NextAuth和Nextjs13的主要更改,我不知道如何在我的项目中设置nextauth。我读过文档这里

不知何故不知道如何为nextjs 13设置它。我如何使它工作?...nextauth.ts文件设置

代码语言:javascript
运行
复制
import NextAuth from "next-auth"
import FacebookProvider from "next-auth/providers/facebook";

export const authOptions = {
  // Configure one or more authentication providers
  providers: [
   FacebookProvider({
    clientId: process.env.FACEBOOK_CLIENT_ID,
    clientSecret: process.env.FACEBOOK_CLIENT_SECRET
  }),
  
  ],
}

export default NextAuth(authOptions)

到目前为止,错误:类型'string‘不能分配到输入'string’。类型'undefined‘不能分配到输入’string‘. to (2322) oauth.d.ts(83,5):预期的类型来自在'OAuthUserConfig'上声明的属性'clientId’。

layout.tsx页面

代码语言:javascript
运行
复制
import { Outfit } from "@next/font/google";

import "../styles/globals.css";
import Header from "./components/Header/Header";
import { SessionProvider } from "next-auth/react";

// Outfit Font
const outfit = Outfit();
export default function RootLayout({
  children,
  pageProps: { session, ...pageProps },
}: {
  children: React.ReactNode;
}) {
  return (
    <SessionProvider session={session}>
      <html>
        <head></head>

        <body lang="en" className={outfit.className}>
          <Header />
          {children}
        </body>
      </html>
    </SessionProvider>
  );
}

在布局文件中,它告诉我在类型{pageProps: ReactNode;}上不存在属性‘ReactNode’。

我希望能有任何帮助来建立这个系统。

EN

回答 1

Stack Overflow用户

发布于 2022-11-19 13:34:02

我认为,您应该创建providers.js,比如:

代码语言:javascript
运行
复制
'use client'

import { useState } from 'react'
import { SessionProvider } from 'next-auth/react'

export const Providers = ({ children }) => {

  return (
    <SessionProvider>
          {children}
    </SessionProvider>
  )
}

然后用RootLayout包起来:

代码语言:javascript
运行
复制
import './globals.css'
import { Providers } from './providers'

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en">

      <head />
      <body><Providers>{children}</Providers></body>
    </html>
  )
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74246463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档