我正在尝试使用微服务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
标头。
谢谢!
答案 0 :(得分:-1)
从我所看到的,正在尝试在服务器上创建一些元数据,我一直在其中创建它们,我一直在GRPC客户端中,并将其作为第二个参数传递给GRPC服务器调用,希望这对您有所帮助