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

调用Kinde getUser获取用户后访问email属性遇类型错误

解决Kinde认证中getUser()返回Promise导致的类型错误

你遇到的错误核心原因是getUser()返回的是Promise对象而非直接的用户实例,未通过await处理就直接访问属性,TypeScript会提示属性不存在。

修正后的代码

import { getKindeServerSession } from '@kinde-oss/kinde-auth-nextjs/server';
import { redirect } from 'next/navigation';
import React from 'react';

const Page = async () => {
    const { getUser } = getKindeServerSession();
    // 关键:用await等待Promise解析出实际用户对象
    const user = await getUser();

    if (!user || !user.id) redirect('/auth-callback?origin=dashboard');

    return (
        <div>
            {user.email}
        </div>
    );
};

export default Page;

关键修改点

  • 在调用getUser()时添加await关键字,等待异步操作完成,拿到真正的KindeUser | null实例
  • 后续对user.id和user.email的访问就能被TypeScript正确识别类型,不会再出现属性不存在的错误

Next.js的Server Components原生支持async/await语法,所以在异步页面组件中使用await是完全合规的写法。

内容的提问来源于stack exchange,提问作者K khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 08:23:14