You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js集成NextAuth与Cognito:如何跳过登录跳转直接进入表单

解决Next-auth集成Cognito直接跳转登录表单的问题

不用在AWS控制台瞎找了,问题出在NextAuth的Cognito Provider配置上,默认的授权跳转URL会带身份提供商选择步骤,直接改配置就能跳过:

  • 打开你的[...nextauth].js/ts配置文件
  • 在CognitoProvider的配置项里,新增authorization字段,手动构造授权URL并添加强制登录的参数:
import NextAuth from "next-auth";
import CognitoProvider from "next-auth/providers/cognito";

export default NextAuth({
  providers: [
    CognitoProvider({
      clientId: process.env.COGNITO_CLIENT_ID,
      clientSecret: process.env.COGNITO_CLIENT_SECRET,
      issuer: process.env.COGNITO_ISSUER,
      // 关键:手动指定授权URL,跳过选择页直接进登录表单
      authorization: {
        url: `${process.env.COGNITO_ISSUER}/oauth2/authorize`,
        params: {
          prompt: "login", // 强制显示登录界面,跳过选择环节
          response_type: "code",
          client_id: process.env.COGNITO_CLIENT_ID,
          redirect_uri: `${process.env.NEXTAUTH_URL}/api/auth/callback/cognito`,
        },
      },
    }),
  ],
});
  • 额外注意:如果你的Cognito用户池同时启用了多个身份提供商(比如Google+本地账号),可以在params里再加identity_provider=Cognito,强制走本地账号登录流程;如果只启用了Cognito作为唯一身份源,不加这个参数也能生效

重启项目后再触发登录,就能直接跳转到Cognito的登录表单,不会再看到那个多余的按钮页面了。

内容的提问来源于stack exchange,提问作者Facu Bozzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 00:43:21