当应用程序已被授权时,在未经用户同意的情况下进行下一次身份验证登录



我有一个Next应用程序,让用户使用他们的discord帐户进行注册。注册部分正在工作。现在我想知道,如果用户已经注册,我如何让他们使用discord帐户登录,而不需要再次进行授权。

在/pages/api/auth/[…nexttauth].ts文件中

export default (req: NextApiRequest, res: NextApiResponse<any>) => {
if (req.query.firstName && req.query.lastName) {
firstName = req.query.firstName;
lastName = req.query.lastName;
}
return NextAuth(req, res, {
providers: [
DiscordProvider({
clientId: process.env.DISCORD_CLIENT_ID,
clientSecret: process.env.DISCORD_CLIENT_SECRET,
authorization: { params: { scope: DISCORD_SCOPES } },
}),
],
session: { strategy: "jwt" },
callbacks: {
async session({ session, token, user }) {
session.jwt = token.jwt;
session.id = token.id;
return session;
},
async jwt({ token, user, account }) {

}
}
});
}

使用以上逻辑,我将在注册后将用户数据保存到strapi。

如何让用户在没有获得新的访问令牌和通过授权的情况下不和谐地登录

如果用户已经授权您的应用程序登录。您可以在前端客户端中使用以下内容。

import { signIn } from "next-auth/react";
signIn("discord", { callbackUrl: '', redirect: true }, { prompt: "none" });

参考文献:

https://next-auth.js.org/getting-started/client#additional-参数

相关内容

最新更新