使用NestJS和GRPC服务器进行身份验证

时间:2019-03-31 15:48:08

标签: node.js grpc nestjs

我正在尝试使用微服务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标头。

谢谢!

1 个答案:

答案 0 :(得分:-1)

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