reactjs - 将 FB/Google 用户从 NextAuth 存储并验证到 Nextjs 中的另一个后端 api
问题描述
我将 Next.js(v.10.0.4) 和 NextAuth(v.3.23.3) 用于需要社交身份验证的项目。我可以通过自定义登录页面登录/注销,包括 NextAuth 提供的基于会话的社交身份验证系统。
现在我想将用户的信息存储在外部 API 中,稍后我想通过 JWT 获取用户的数据。
我不确定我应该如何处理这个问题。任何建议/示例/解决方案的想法都将受到高度赞赏。谢谢 :)
api/[...nextauth].js]
import NextAuth from 'next-auth'
import Providers from 'next-auth/providers'
import axios from 'axiosConfig'
const options = {
providers: [
Providers.Facebook({
clientId: process.env.FACEBOOK_ID,
clientSecret: process.env.FACEBOOK_SECRET,
}),
Providers.Google({
clientId: process.env.GOOGLE_ID,
clientSecret: process.env.GOOGLE_SECRET,
}),
],
pages: {
signIn: '/',
signOut: '/',
error: '/auth/error', // Error code passed in query string as ?error=
verifyRequest: '/auth/verify-request', // (used for check email message)
newUser: null, // If set, new users will be directed here on first sign in
},
session: {
jwt: true,
},
callbacks: {
session: async (session, user) => {
session.jwt = user.jwt
session.id = user.id
return Promise.resolve(session)
},
jwt: async (token, user, account) => {
const isSignIn = user ? true : false
if (isSignIn) {
//
}
return Promise.resolve(token)
},
},
}
export default (req, res) => NextAuth(req, res, options)
解决方案
推荐阅读
- java - 当我添加另一个元素时,如何修复我的 listView 重复相同的元素?
- reactjs - React路由器:如何将参数从URL传递到组件?
- node.js - 当我尝试在 AWS 上运行 React Web 时出现网络错误
- c++ - 为什么命名空间使用会破坏 MinGW 编译?
- google-app-engine - 创建驱动程序助手以访问用户的 Google 云端硬盘
- pandas - 为什么 pandas 有时在其方法中使用参数“dropna”,有时使用“skipna”?
- python - 如何处理空列表-多页网页抓取
- javascript - 如何对来自 Node 的 MaxListenersExceededWarning 消息进行故障排除?
- python - 如何在 Python 中循环遍历 3D NIFTI 图像
- mysql - 试图连接 asp.net 和 mysql 试图找出 mysql.data.dll