【问题标题】:Authentication with NestJS and GRPC server使用 NestJS 和 GRPC 服务器进行身份验证
【发布时间】:2025-12-09 15:00:02
【问题描述】:

我正在尝试使用微服务 GRPC 在 NestJS 中对我的用户进行身份验证,但我无法发送 Set-Cookie 标头来发送 JWT 令牌。


@GrpcMethod('Auth', 'SignIn')
async signIn(data: my.api.auth.SignInRequest): Promise<any> {
    try {
        const response = await this.authService.signIn(data.email, data.password);
        const metadata = new grpc.Metadata();
        metadata.set(
            'Set-Cookie',
            `token=${response.jwt}; Expires=${response.expiresIn}; HttpOnly`,
        );

        return metadata;
    } catch (error) {
        throw new RpcException({
            code: grpc.status.NOT_FOUND,
            message: 'User not found',
        });
    }
}

我不想在我的响应中发送 JWT 并在前端设置 cookie,因为在没有 HttpOnly 的情况下不设置这种 cookie 是一种不好的做法。但我不知道如何将Set-Cookie 标头返回到我的前端。

谢谢!

【问题讨论】:

    标签: node.js grpc nestjs


    【解决方案1】:

    据我所见,我正在尝试在服务器上创建一些元数据,我一直在 GRPC 客户端中,并将其作为第二个参数传递给 GRPC 服务器调用,我希望这会有所帮助

    【讨论】: